• ACCP软件工程师
  • BENET网络工程师
  • JAVA软件工程师
  • Python工程师
  • 安卓工程师
  • Web前端工程师
  • 软件测试工程师

不愿修修补补?程序大牛告诉你,重写代码可能更惨!

2018年07月04日 16:04供稿中心:北大青鸟西安兆隆

摘要: 不知道大家发现了么,很多程序猿们都有一种微妙的 心理 ,那就是在 进入新项目组后宁愿丢掉旧代码重新写,也不愿意修修补补。 真的是因为 旧代码一团糟 吗?非也非也,在编程界流传着这么一句话: 写代码容易,读代码难。 如果你问一个程序猿旧代码怎么样?

不知道大家发现了么,很多程序猿们都有一种微妙的心理,那就是在进入新项目组后宁愿丢掉旧代码重新写,也不愿意修修补补。真的是因为旧代码一团糟吗?非也非也,在编程界流传着这么一句话:写代码容易,读代码难。

 

如果你问一个程序猿旧代码怎么样?也许会收到类似这样的回复:额,看看这个功能,竟然有两页长!完全不知道这些东西为什么在这里!完全不知道这些API是干什么的。

        

你觉得新代码一定比旧代买好NO!道理很简单,旧代码是已经运行过的,测试过的。出现的bug也已经被程序员们全力修复了。所以,当你决定抛弃这些旧代码从零开始的时候,你也丢掉全部前任努力的结果。

 

而且,重写可能会带来更大的风险。对技术领导者来说,重写项目的代码也是一个异常艰难的决定。因为从公司层面说,重现代码甚至会威胁产品的市场竞争力。而且,新代码即使可以实现旧代码的所有功能和需求,,也未必会给产品带来质的飞跃。

 

所以,当你觉得眼前的旧代码很烂时,该怎么办?

1、代码的机构有问题

如果一段网络代码突然弹出了自己的对话框,应该是UI代码需要被处理。这些问题可以被解决掉,你要一次次小心地移动代码,重构,改变接口。还需要一位细心的工程师立马仔细地检查这些改变是否有问题,从而不打扰到其他人。事实上,甚至比较大的结构变化也可以不扔掉代码来完成。

 

2、代码的效率不高

曾经,Netscape的渲染代码被传非常缓慢。但事实上,这只会影响该项目的一小部分,这部分是你可以优化甚至重写的。你完全不必重写全部代码。优化速度的1%工作量,会让你获得99%的爆炸性提高。

3、代码写得很丑

比如,刚开始写代码的时候,用下划线做开始的成员变量约定,但后来改用更标准的「M_」。所以一半的功能用「_」开始,一半用「M」开始,这看起来真的很丑陋。但这个问题5分钟就能解决,而不用从头开始写全部的代码。

 

所以喽,重写代码并不意味着你会写出比以前更好的代码。一旦你准备推倒重写,你可能会再犯一遍版本一犯过的错,甚至会产生更多的新问题。如何让高效读懂代码才是王道。

陕ICP备11012603号 Copyright  ©  2001-2018隶属于西安兆隆计算机培训中心版权所有