这是一位同事的注释:
//It seems too hard to implement bodyshop editing within existing code.
//So, just remove the old part and than add the new one.
part在这里是部件的意思。说白了他的意思就是:
// 哇,原来的代码我读不懂啊。
// 所以,我就把旧记录删了然后把新的加上去就好了。
擦,你读不懂就不要乱改嘛,改出个大bug来。人生最怕遇到这样的猪队友了,自己觉得自己干了件好事屁颠屁颠的,却要别人给你擦屁股。
擦屁股就算了,看在你好歹写了一句注释的份上。不过悲剧的是,就只有这么一句注释,也不知道这个改动到底跟哪些改动有关系,背后的动机是什么,解决了什么问题,尼玛只能靠猜了。而且他的重构规模还不是一般的大,面目全非了只好慢慢猜。
所以说,一定要有单元测试来避免这种猪队友自觉高大上乱改一气。
bodyshop是那个出名的bodyshop?
没有神话,外国普遍代码要规范些,中国个体写的代码精彩。
原来公司一个代码文件原来3万多4万行代码的样子,600还是700多个全局变量,后来给建议他改,最后改成2万多行,死活不拆文件,还是很多冗余的,最后我也放弃了。
代码没有规范就不说了,命名看不懂,而且还没注释,这样的代码谁去维护。
当前我的项目是我一人 from scratch 写起的。吐槽的话,我只能吐槽 opensource lib 。当然也在 github 上给他们提交过几个 bug。
代码规范小日本搞得还是比较好的,第一次打开日方的代码文件时,被那注释给震住了,注释虽然精彩,但是有些代码写的真不咋地啊,同事们修改代码的时候总是边改边骂娘
5楼 @灵感之源 遇到过,并不吃惊。好代码是相对少数,差的代码是相对多数,与肤色无关。
我遇到过最雷人的代码其实是国内,变量名是 a134, b234, csdf 之类的… ,完全不知道那家伙头脑在想神马。
8楼 @minddriven 你过将View命名为Model,然后将Controller命名为View的吗?看的时候要切换到另一种思路。而且同一个实体有两种,哦不对是四五种不同的格式,然后切换来切换去,其中有3种还是xml,名称类似格式“稍有”不同……
看多了就不觉得气怪了。哪都一样,最常见的就是业余的命名和臃肿的源文件结构。
之前看过一个斯里兰卡人的项目代码,维护指数0.5(满分10分),除了无法理解的混乱命名,还有互不相干的源文件集中在一个文件夹。看了几分钟我就开始犯恶心。最奇怪的是这竟然是给American Express做的项目,真不知道怎么通过review的。
其实命名这个东西很能区分程序员,好的文件名展现了程序员对文件的深入理解。菜鸟程序员写第一个文件一般随便起个名字了事,后来写了一个类似的文件,懒得仔细思考,就加上数字后缀来区分,完全不去思考是否需要重构。之前看过一个调查,程序员写代码排名第一的困难就是命名,觉得不困难的,肯定不是好程序员,呵呵~