来源 | 勇哥java实战分享 (ID:gh_639fe71cc2db)
知乎上这个程序员问题关注量和回复都非常高,笔者摘取了三个非常有趣的回答,分享给大家。
1 代码里有实况足球
想起了一件十多年前的往事,有一次帮客户的Java项目组升级框架。
入场之后屡次听到项目组的运维小哥抱怨war包过大,导致每次发布要等很久很久,用过WebSphere的童鞋可能知道我在说什么。
那么,这war有多大呢?
接近2G!!!???
富有求知欲的我于是下决心去研究下这鸽子,,不对,这war包为什么这么大?
草草一挖,果然就在里面发现了宝贝。
原来war包里还藏着两个程序安装包。
一个是JDK1.4;
另一个是PES2006,,,,实....实况足球?!
根据SVN的提交记录,肇事的大哥很快就被找到了。
据说是在一个月黑风高的晚上,几个还在加班的码畜临时起意,决定一起找点乐子解解乏。这位带头大哥为了方便把自己的游戏分享给小伙伴,就想到了把它先提交到SVN上这样一个天才的主意。。。。当然,按照他原本的计划,这个文件应该随后被删除的。。。可是,那晚他们玩的实在太尽兴了。。。。
没人会料到这个文件竟会悄无声息的溜进war包,一路潜伏到生产环境,然后反反复复的摩擦了可怜的WebSphere和运维小哥近一年。
2 水平差只是表象
2020/02/27 更,出于大部分工程师都有的追求卓越的情节,我已经把1/2两个坑全踩了....准备找下家了.…
3 垃圾的公司,垃圾的管理
垃圾代码的背后首先不是垃圾的程序员,而是垃圾的公司,垃圾的管理。
我见过很多差得不能差的代码,包括很多名气在外,风生水起的互联网公司。
如果一定要形容这些代码有多差,可以用一句话形容:补丁摞补丁,垃圾堆垃圾!
面对这些垃圾堆似的代码,我最早的时候认为,那一定是因为写代码的程序员都是垃圾。
但后来我发现自己错了,垃圾代码首先不是因为垃圾程序员,而是因为程序员所在的公司的管理是垃圾。
这些垃圾公司的一个显著特点就是刻薄寡恩,程序员走马灯似的换,没有人才积累,自然也没有技术积累,每个程序员从对系统掌握的意义上来说,都是新人。
但越是刻薄寡恩的公司,就越不愿意给新人点时间去学习下系统,而是要求新人来了就产出,那么新人能做的就是以“摸着石头过河”的方式来写代码,写出的程序自然是“只见树木不见森林”。
既然都不愿给新人去熟悉系统,这样的公司就更没有耐心给程序员点时间去review和重构代码。
于是,随着时间推移,越到后来,程序的运行逻辑就越来越不清晰。越是不清晰,后来的程序员就越没有耐心,在工期的压力下,就越只能以“打补丁”的方式来工作。
到最后,整个程序就真的变成了垃圾山。
但这结果应该由程序员背锅吗?
我不这么认为!