国内知名软件,源代码居然这么屎,每天面对这些代码都很痛苦
![]() | 1 hahadaxigua834 2022-12-27 16:07:59 +08:00 6 字 |
2 FranzKafka95 2022-12-27 16:08:38 +08:00 via Android 那就靠你一己之力重构啊 |
![]() | 3 lingex 2022-12-27 16:10:38 +08:00 via Android ![]() 无所谓,自己也拉一点上去。 |
4 hccsoul 2022-12-27 16:12:19 +08:00 重构不了就加入 |
![]() | 5 unco020511 OP @hahadaxigua834 #确实 6 字真言解决一切问题 |
6 jorneyr 2022-12-27 16:18:29 +08:00 能跑就行。 |
![]() | 7 unco020511 OP @jorneyr #6 你说的是人能跑还是代码能跑 |
![]() | 8 allgy 2022-12-27 16:20:56 +08:00 跑路 |
![]() | 9 aaronlam 2022-12-27 16:22:11 +08:00 想了解下是什么知名软件,可以再透露点信息吗 ?哈哈 |
![]() | 10 tool2d 2022-12-27 16:24:38 +08:00 分两种情况,一种是代码真的巨烂,那是没办法。 另一种只是代码量太大,项目不太好管理。那可以写一点小工具,提取代码里的特殊注释信息,归档后进行有针对性功能查找和代码行跳转。 只依靠人脑,去管理大量代码,时间一长必定会忘记一大半。 |
11 visper 2022-12-27 16:38:23 +08:00 强中自有强中手,一山还有一山高. 不要以为你现在遇到的就是最高的屎山 |
![]() | 12 eason1874 2022-12-27 16:40:25 +08:00 ![]() 我以前看到自己几年前的屎山,必定重构,每次都增加工作量,后来忙不过来了,就接受现实了。。。能跑就行,还要什么自行车 我的逻辑是这样的:你不能用现在的标准去衡量以前的产出,都几年了,技术进步了,公司要想进步就应该给工作计划去升级,如果不给任务就说明公司还满足于几年前的产出 |
![]() | 13 NGXDLK 2022-12-27 16:43:24 +08:00 @hahadaxigua834 又不是不能用,哈哈 |
![]() | 14 NGXDLK 2022-12-27 16:43:55 +08:00 打不过就加入 |
![]() | 15 rm0gang0rf 2022-12-27 17:12:51 +08:00 ![]() 恕我直言,你是想另启一坨? |
![]() | 16 ianEros 2022-12-27 17:30:26 +08:00 我感觉除非定期的重构,并且研发都有代码洁癖,要不然业务多了都会变成屎山 |
![]() | 17 weeei 2022-12-27 18:01:10 +08:00 ![]() 团队人员不稳定的情况下,这种情况不可避免的,平一己之力重构这种事情千万别搞。不仅重构写的心力交瘁,而且所有 bug 都算你头上。 除非你是团队 leader ,把重构作为工作的一部分分发下去,长此以往过个两三年代码结构就能慢慢变好了。 |
18 squarefong17 2022-12-27 18:30:06 +08:00 @unco020511 有一个能跑就行 |
19 yuruizhe 2022-12-27 18:34:34 +08:00 via iPhone 国内知名软件? say your name |
![]() | 20 ChrisFreeMan 2022-12-27 19:29:30 +08:00 @yuruizhe 都说了知名了,那就是知乎了 |
![]() | 21 lzgshsj 2022-12-27 19:34:32 +08:00 厌恶屎山->理解屎山->成为屎山:) |
22 wingkwanli888 2022-12-27 20:17:01 +08:00 via iPhone @ChrisFreeMan 知乎也就一网页,谈不上软件 |
![]() | 23 zhuangzhuang1988 2022-12-27 21:02:21 +08:00 啥知名软件啊 |
![]() | 24 WilliamYang 2022-12-27 21:23:39 +08:00 哪个知名软件,给个颜色提示 |
25 dddd1919 2022-12-27 21:33:30 +08:00 《山堆》 《上雕花》 |
![]() | 26 wu67 2022-12-27 21:38:40 +08:00 ![]() 除非持续重构, 不然代码只会成为屎山, 谁也逃不掉. 所以软件开发行业, 是最需要人力资源冗余的, 不然光是写业务代码就消耗光了精力, 那不可能写的出好代码, 只能说是能跑. 讲真, 半年写出来的垃圾, 你后续可能花一年都不一定能给他重构回来, 期间还会间杂着新业务开发, 只会越来越难. 我最近新入职的公司项目也是这样, 单文件代码量巨多、代码逻辑毫无设计、各种多余的中间变量、各种监听和计算, 页面填个表单, 我的 mbp 瞬间能升温到 59 度...代码写起来也是很难受, 现在就是一点点的重构改写, 抹平之前的技术负债 |
27 chihiro2014 2022-12-27 21:39:47 +08:00 1. 看不惯就重构他 2. 打不过就加入 |
28 18500592934 2022-12-27 21:55:15 +08:00 @eason1874 如果屎山依然在产生效益,而且还很可观,且出现线上问题可以很快的得到响应和解决,你就没发推动重构。只有造成了实际损失或领导层意识到随时可能造成重大损失的时候,你才有可能有机会重构(此时你得到的资源依然不够多,但也算是迈出了一大步)。 |
![]() | 29 coolair 2022-12-27 22:01:10 +08:00 ![]() 你还是太年轻,这种工作是最好做的。 别人代码写的好,你才有心理负担,怕自己写烂了,挨领导批。 这种烂代码,堆屎山简直不要太轻松,有问题解决问题,工作很好量化。 要是重构或者重零开发新项目,那就累了,要是领导管的严,你既要代码写的好,又要按时达成里程碑。 |
![]() | 30 opentrade 2022-12-27 22:19:13 +08:00 送江总书记的名言给你 |
![]() | 31 zsj1029 2022-12-27 22:22:11 +08:00 via iPhone 缩减三字 忍 or gun |
32 sloknyyz 2022-12-27 23:13:43 +08:00 拉屎是最简单的,只需要找准坑位即可。 |
33 djoiwhud 2022-12-27 23:45:07 +08:00 via Android ![]() 雍正:四字格言“戒急用忍”。我靠这个扳倒了你八叔九叔十叔。 |
34 smj 2022-12-28 02:09:08 +08:00 ![]() 程序员在中国是什么成分的工种不会不知道吧? |
![]() | 35 MrHyde 2022-12-28 02:23:18 +08:00 国内知名,难道是 PingCap 的 TiDB ? 或者是金山? |
![]() | 36 HeapOverflow 2022-12-28 05:10:22 +08:00 盲猜小红书 |
![]() | 37 Edward4074 2022-12-28 05:52:24 +08:00 via iPhone 代码洁癖患者,某三线城市(一线房价)小公司,新项目做低代码平台。我去年底才转到该项目,不夸张的说,今年几乎是凭一己之力把一个屎山项目逐步重构到目前还不错的状态。不过由于项目还没正式上线,重构比较没有负担,项目中仍有不少屎一般的代码,不是核心代码的我会选择性忽略。 |
![]() | 38 hellojukay 2022-12-28 09:30:19 +08:00 别重构,跟着一起慢慢加功能 |
![]() | 39 JDog 2022-12-28 09:39:34 +08:00 ![]() “新人和老人的区别就是面对一坨屎山,新人会大吃一斤。老人会贤淑的避开最臭的那部分屎,然后灵巧的在保证屎山不垮的情况下把自己的屎再拉一层上去” |
![]() | 40 pansongya 2022-12-28 09:42:53 +08:00 那不是叫 屎山 那叫历史遗留问题 你看看 QQ 空间的代码 |
41 sorryfu 2022-12-28 09:46:23 +08:00 我入职的一两月的时候看项目代码,也是你这种想法,觉得怎么都是屎啊,这些工作四五年的写代码不过如此嘛,后面想通了,成为屎山是必然的趋势,因为产品经理不断加新功能,不断加新功能,排期紧,根本就没有时间去重构,后面我也就随便了,屎山就屎山吧,我也只能尽量不让自己写的代码变成屎,前面写的屎山那就没办法了,所以放宽心吧,屎山是必然的。解决方法是,你可以在这些屎山上加一些注释什么的,至少让它看起来不那么难闻一些,也只能这样了。 |
![]() | 42 QKgf555H87Fp0cth 2022-12-28 09:58:23 +08:00 上单元测试 |
![]() | 43 FreshOldMan 2022-12-28 10:06:22 +08:00 屎上雕花 |
![]() | 44 unco020511 OP @aaronlam #9 对标巨硬 |
![]() | 45 www5070504 2022-12-28 10:41:03 +08:00 大家都是屎上雕花 毕竟改了还要担责 |
![]() | 46 KleinP 2022-12-28 10:45:45 +08:00 我重构了我们研发部门的代码,写了一个还不错的框架,然后我们领导看着还不错,就把所有的工具都迁移过来了,屎山真实忍不了 |
47 gdgoldlion 2022-12-28 10:58:21 +08:00 https://zhuanlan.zhihu.com/p/66547153 如果是临时维护,那就把相关注意事项写到小本本上,不要在代码里加注释,不要重构,能飞线就飞线,改的越多事越多 如果是长期维护,重构是必须的 |
48 ukyoo 2022-12-28 11:01:29 +08:00 我们的 APP 月活过亿, 也是一坨屎, 大量没注释的或者英文注释的代码, 一个类动辄一两万行, 各种 bug. 没有代码 review, 随便什么代码都可以往上垒 |
![]() | 49 easonl 2022-12-28 11:02:25 +08:00 等两年以后,有新的小鲜肉进来公司看到你的代码,也会觉得臭不可闻的,又如何呢?又不是不能用。 |
50 tysb777 2022-12-28 11:05:08 +08:00 WPS 吗 |
51 dobelee 2022-12-28 11:10:42 +08:00 给屎山添油加醋。 |
52 youngcong 2022-12-28 11:14:10 +08:00 不断加业务是导致屎山堆积的一个原因。但有时候真的单纯是因为前人写的代码就是一坨屎,与业务无关。 |
![]() | 53 kelvin_fly 2022-12-28 11:21:06 +08:00 开闭原则~ 微服务~ 尽量不触碰旧的代码内部 |
![]() | 54 RockShake 2022-12-28 11:32:29 +08:00 WPS 或者是永中? |
55 liuidetmks 2022-12-28 12:08:36 +08:00 这种一半是不断的迭代,需求的变化超出程序员预想,新需求甚至和前面所有需求是矛盾的。而且是那种一周上线的 |
![]() | 56 xylxAdai 2022-12-28 13:52:50 +08:00 屎山代码最好改了。拉就完了。 |
![]() | 57 lanbatian 2022-12-28 14:01:53 +08:00 你和代码有一个能跑就行 |
![]() | 58 tkHello 2022-12-28 14:12:48 +08:00 无所谓,我不会出手 |
![]() | 59 loryyang 2022-12-28 14:21:09 +08:00 现在我就在重构中,自己亲手做起来的项目,努力保鲜中,能做一点是一点 |
![]() | 60 zhchyu999 2022-12-28 14:26:50 +08:00 忍一忍吧,吃透就好,也干不了几年 |
61 marvincible 2022-12-28 14:28:33 +08:00 重构也有问题,历史的项目没有完整的测试用例,你重构完测试都不知道咋测 |
![]() | 62 zhw2590582 2022-12-28 14:30:11 +08:00 WPS 吧 |
![]() | 63 jameszhangqk1 2022-12-28 14:32:11 +08:00 你看别人代码是屎山,等你重构完了,别人看你的代码也是屎山。每个 coder 都认为自己的屎山是最香的。 |
64 THESDZ 2022-12-28 14:43:25 +08:00 按业务水平切分,不要想着垂直切分,或者垂直的层只用标准库或者开源依赖。。。 |
![]() | 65 adgad2 2022-12-28 14:49:33 +08:00 也想好好写,迫于工期和多变的需求。。。 我选择在屎山上继续拉屎 |
![]() | 66 la2la 2022-12-28 14:54:39 +08:00 无所谓,你会出手 |
![]() | 67 timeflies2020 2022-12-28 15:10:21 +08:00 重构不了就加入他们 感觉很多辣鸡代码,30%的原因是程序员辣鸡,70%的原因是迭代节奏太乱太快 |
![]() | 68 qzhai 2022-12-29 11:24:48 +08:00 via iPhone 真的能跑就行,写程序不是为了代码不屎的,只为了解决用户需求。来源的代码非常规范,思路清晰,是因为这也是用户需求的一部分。 |
69 zhangtest 2022-12-29 14:35:24 +08:00 有没有可能是你自身有问题 |