专栏名称: CSDN
CSDN精彩内容每日推荐。我们关注IT产品研发背后的那些人、技术和故事。
目录
相关文章推荐
新浪科技  ·  【#腾讯Q4国际市场游戏收入160亿元##腾 ... ·  2 天前  
新浪科技  ·  【#小米2024年智能电动汽车收入321亿元 ... ·  3 天前  
腾讯研究院  ·  腾讯研究院AI速递 20250319 ·  3 天前  
51好读  ›  专栏  ›  CSDN

那些坑爹的老代码,究竟改还是不改?!

CSDN  · 公众号  · 科技媒体  · 2017-10-30 23:09

正文

点击上方“ CSDN ”,选择“置顶公众号”

关键时刻,第一时间送达!


在软件研发中,我们总会遭遇一个场景,就是要去改变或添加一项功能到既不是咱们创建、也不熟悉、更与自己负责的系统部分无关的代码中时,会遇到麻烦,而此时的内心更是崩溃的。


那么,面对前任程序员留下的代码,究竟要不要改?改写老代码,究竟如何才能不留坑?


曾刊载于《程序员》的 《神秘的程序员们》漫画一则


长久以来,业界流传着一个约定俗成的禁忌:如果你恨一个程序员,就让他去维护年久失修的老代码吧!提到老代码,相信所有程序员都有话要说。


或许每位程序员都有一颗封疆扩土的雄心,所以入职后面对着冗余复杂的陈旧代码,很希望将一切推翻重来。毕竟代码结构 Bug、运行缓慢乃至于过于挑战审美等问题,很容易让人抓狂。但是对一家软件企业来说,老代码就是资产的象征,是多年积累下来的核心和重要竞争力。


对于软件产品,先后几波人维护过代码是很常有的事儿。如果你重写的新技术、新语言或者新框架并不能给产品带来质的飞跃,技术领导者又为什么要同意重写项目代码?更遑论维护过程中资金链断裂、核心程序员离职等突发情况的存在。


基于以上的思考,对于老代码我们究竟动还是不动?业内有赞同也有反对的声音:


@mostone:

动当然可以动,但一般一个项目的代码都比较庞大,如果耦合度较高,修改的风险必然很大。


@u013553804:

大刀阔斧,全部推倒重来,当无可奈何的时候。


@u012377333:

老代码能不能动,就看老代码写的怎么样了,比如一些开源框架,里面的很多基础的代码都不需要动或者只是简单的添加和新的业务逻辑相关的代码。如果老代码没有基于编码规范进行,里面势必就埋了很多雷,谁踩谁死。这里就涉及到一个问题,每一次代码合并必须要进行代码review,让该项目的所有开发人员对代码达成一致意见后,这样的老代码才能愈久弥坚。


@chinglish:

革命的时机未到你就去革命最终会革了自己的命;革命时机到了你再去革命那才真的是承天应人破而后立。







请到「今天看啥」查看全文