问题中提到了“祖传代码”,顾名思义就是前辈留下来的代码。
随着系统的不断更新迭代,代码逐渐耦合笨重,阅读和修改的体验越来越糟糕,久而久之,这堆代码嗅起来,就逐渐充满了不可名状的味道,因此也被程序员们起了一个亲切的名字,名为“屎山”。
几乎所有程序员,都遇到过奇形怪状的祖传代码,而且在更新迭代的过程中苦不堪言。小E的学弟就有过亲身经历:
有时候前辈也看不懂前辈的代码,只能惺惺相惜,一起膜拜大佬:
i = j + curRunTime;
//我尽力了 我真的搞不懂上面i和j与前后面代码的关系
//楼上我懂你 命名变量咋直接上英文字母
//我可去你的
那两个代表什么啊啊啊啊啊
甚至有小伙伴在祖传代码里面,发现了更神奇的八代单传代码和无字天书代码,并确切的认为,祖传就是等于无数修不完的bug。
▲ 改祖传代码的后果
因为祖传代码的“斑斑劣迹”,修改祖传代码成为了程序员们的永恒梦魇,更新架构的工程师,也被大家尊称为“明知山有屎,偏向屎山行”的大侠,并把他们的工作称为“屎上雕花”。
尽管我认识的程序员中100个中有99个都在吐槽祖传代码有多么的臭不可闻,但也有很多同行站出来,发出了不同的声音:
这位小伙伴虽然接手了祖传代码,但因为团队已经有优秀的代码风格,看着这一目了然的结构和注释,连写新代码都小心翼翼,就怕自己“狗尾续貂”。
有的小伙伴用自己亲身经历举例,并得出结论:只有屎堆出来的才是屎山。
通过上下两组小伙伴的对比,其实可以很明显的发现,没有发现“屎山”的公司,他们的祖传代码有如下特点:
1. 都有清晰的结构和注释
2. 有贯穿始终的代码风格
3. 有完整且细致的日志文档
正因为有这些特点,本来令人心生畏惧的祖传代码,瞬间变成了熠熠生辉的“金山”,也因为这些优秀的代码习惯,有良心的后来者也会产生英雄相惜之情,共同传承这份优秀的代码。
而反观那些被认为屎山的祖传代码,就没有这些代码习惯了,后来者大多无法判断某行代码做了什么,不改有bug,改了却更多的bug,最后也只能硬着头皮删删改改,往看不懂的代码里添加更看不懂的代码,让这座本来成功的屎山更加成功。
祖传的屎山代码已经不可更改,但英俊潇洒的你,依然想写那些被后辈疯狂责骂的代码吗?
还不快点养成优秀的代码习惯!用你一己之力,把屎山变成金山银山!
来腾讯课堂NEXT学院吧!
Web前端由小白到大师体验课,由腾讯专家亲自授课,带你完成各种实战项目,一步一步带你养成优秀的代码习惯,让你成为后辈心里的“金山大侠”,高手中的高高手!
快来添加我们的小助手,了解课程详情吧~
也可以点击下方原文链接,直接查看课程哦~
请扫码添加小助手咨询
也可直接查找微信号:TencentNext01
▲ NEXT学院 官方课程助教 ▲
你点的每个赞,我都认真当成了喜欢