关注码农话题
做一个实实在在的内行人

接手别人代码:只有程序员懂的崩溃经历

想起今年一次痛苦的经历,这辈子都不想再有,但是又无法避免的痛苦经历。

接手别人的历史遗留代码。

记得这个项目最初是一个实习生做的,普普通通的iOS客户端项目,难度不大,但是工程量比较大。到了最后这个实习生突然回家了,朋友公司没有其他iOS工程师了。

朋友对我说“灯灯,我这边有一个iOS项目还差一点点结尾就做完了,你看能不能…”

“没问题!”我一听还差一点点就结尾了,爽快地答应了。

拿到代码一开始还很开心,起码代码还是按照MVC框架做的,虽然我的个人习惯是,对于页面较多的工程,我喜欢按页面分文件夹,然后每个页面再MVC。

随后读着读着就发现,这个MVC分类有点混乱,代码作者似乎还是没有分清View是什么。

然后着手完成最后的功能,却发现,这所谓的“一点点结尾”,是一个莫大的深坑。

最让我头疼的是,这个实习生英语有点蹩脚,拼的单词10个错3个,一错到底,整个项目都是拼错的单词。理论上这并不影响代码,但是强迫症的我看了很不舒服,一个个给它改过去,有时候整体替换还会出错,必须手动改。

这不要紧,要紧的是,有时候我需要根据功能猜测代码,比如“显示功能”,我就回去搜索“display”有关的代码,结果硬是找不到,最后发现全部写的“dispaly”。

接手别人代码:只有程序员懂的崩溃经历

代码坑就算了,结果布局还坑,布局全都是手动用View在xib中拼凑出来的,没有百分比布局,也没有代码布局,在iPhone4上和iPhone6Plus上完全就是两个样子。

每次朋友让我改一个小地方,我几乎得把它整个布局全部重写。

连续改了十几天,还是没有改完,无数细小的bug找也找不到,客户还BB个不停,说这边差一个像素,那边图片尺寸不对,我就差点没骂人了,一个小应用,做出来不知道有没有一百个人用,仔细一点没错,吹毛求疵就没有必要了吧。

我一次次抱怨做不下去了,另找高明吧,结果朋友拿给另外一个工程师看果断被拒绝。

在朋友再三请求下,我强忍着崩溃的情绪又改了一周,终于交差。

我不敢说自己能力多好,估计也是个三脚猫,但是我绝不容许不规范命名、拼错单词、分错文件夹等这种错误出现……

改别人的代码真的太痛苦了,尤其是改低质量代码,经历一次,铭记一生。

程序员们,你们应该懂我的痛吧…


入职你的梦想 VS 变现你的技术

IT面试宝典码农市场