加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 移动互联 > 正文

程序员,为什么千万不要重写代码?

发布时间:2019-11-09 06:25:15 所属栏目:移动互联 来源:程序员界的彭于晏
导读:措施员都有一颗工程师的心,以是当他们到一片新的园地想做的第一件事就是,将旧的统统推倒重来。是的,他们决不会满意于简朴的增量劳动。 或者这种玄妙的生理定位可以表明:为什么措施员进入新项目组后甘愿丢掉旧代码从头写,也不肯意修修补补。他们以为旧

措施员都有一颗工程师的心,以是当他们到一片新的园地想做的第一件事就是,将旧的统统推倒重来。是的,他们决不会满意于简朴的增量劳动。

措施员,为什么万万不要重写代码?

或者这种玄妙的生理定位可以表明:为什么措施员进入新项目组后甘愿丢掉旧代码从头写,也不肯意修修补补。他们以为旧代码的确一团糟。

可是,究竟上真是这样吗?你之以是以为旧代码一团糟,着实是由编程的一个根基定律抉择的,那就是:写代码轻易,读代码难。

为什么你认为旧代码非常紊乱?由于读代码更难。

这或许就是代码Reuse难以实现的缘故起因。 这就是你组里的每小我私人都喜好用差异的成果将支解的字符串转换成一个数组。比起揣摩旧的成果是奈何实现的,从头写一个本身的成果要简朴和风趣多了。

作为这个正义的推论,你可以问问身边的措施员他们正在奋战的代码怎么样?「的确是一塌糊涂!」他们必定会这样说。「我的确想推倒重来!」

为什么以为代码这么糟糕呢?「额,看看这个成果,竟然有两页长!完全不知道这些对象为什么在这里!完全不知道这些API是干什么的。」他们会这样答复你。

曾经,Borland的首创人 Philippe Kahn 当初就是向记者们吹捧:Quattro Pro会比Microsoft Excel要好用得多,由于它是从新开始编写的,所有都是新的源代码!

可是,以为新代码比旧代码好的确就是谬妄。旧代码是已经运行过的,测试过的。无数的bug在被发明前都上线运行过,发明之后措施员们也许在花了好些日子才修复了这些bug。这种修复也许是一行代码,也也许是几个字符,无数的时刻和精神都花在了这些bug修复上。

当你抉择丢弃这些旧代码从零开始的时辰,你也丢掉所有前任全力的功效。

新代码必然比旧代码好?NO,重写也许会带来更大的风险。

对技能率领者来说,重写项目标代码也是一个非常艰巨的抉择。由于从公司层面说,重当代码乃至会威胁产物的市场竞争力。一旦抉择重写代码,那么与竞品对比,你也许落伍了2~3年——在软件行业,这时刻可够长的。

你抱负中的新代码会带来产物成果的晋升▼

措施员,为什么万万不要重写代码?

但究竟上,即便重写的新代码可以实现旧代码的全部成果和需求,可是为产物带来的市场竞争力只有边际晋升。由于重写用的新技能、新说话、新框架并没有给产物带来质的奔腾。

更不消说在重写的漫长进程中也许会碰着一些不测环境,好比:

1、缺钱:资金链的断裂

措施员,为什么万万不要重写代码?

2、缺人:焦点措施员去职

最终导致结果不佳:达不到原产物应有的全部成果和需求,白白挥霍了时刻和款子,也丢掉了市场竞争力。

措施员,为什么万万不要重写代码?

以是重写代码意味着,你在把本身置身于很是伤害的田地,也许几年后你也写不出比早年更好的代码。你只是花了一大笔钱把已经存在的代码又写了一遍。

当你认为面前的旧代码很烂时,该怎么办?

你认为旧代码写的很烂,那又奈何呢?它们已经上线,已经在现实运行中担当住了检验。以是当你发明前任留下的代码参差不齐的时辰,不妨沉着下来,从以下三个方面入手领略代码、改进代码:

1、代码的布局有题目

假如一段收集代码溘然弹出了本身的对话框,应该是UI代码必要被处理赏罚。这些题目可以被办理掉,你要一次次警惕地移动代码,重构,改变接口。还必要一位仔细的工程师立马细心地搜查这些改变是否有题目,从而不打搅到其他人。究竟上,乃至较量大的布局变革也可以不甩掉代码来完成。

大牛措施员Joel Spolsky回想说,曾经在某个项目中,他和他的团队花了好几个月从头架构在一点上:把代码动来动去、整理、建设故意义的基类,并建设了模块之间的美满接口。可是他们始终很是警惕翼翼,并没有发生新的bug、也没有丢掉任何旧代码。

2、代码的服从不高

曾经,Netscape的渲染代码被传很是迟钝。但究竟上,这只会影响该项目标一小部门,这部门是你可以优化乃至重写的。你完全不必重写所有代码。优化速率的1%事变量,会让你得到99%的爆炸性进步。

3、代码写得很丑

有些代码真的写的很丑,好比Joel曾参加一个项目,开始用下划线做开始的成员变量约定,但其后改用更尺度的「M_」。以是一半的成果用「_」开始,一半用「M」开始,这看起来真的很丑恶。但这个题目5分钟就能办理,而不消从新开始写所有的代码。

最后,你要记着,从新开始再写一遍并不料味着你会写出比早年更好的代码。由于你没有参加到上一个版本的建设,以是你着实基础就不算有履历。一旦你筹备推倒重写,你也许会再犯一遍版本一犯过的错,乃至会发生更多的新题目。

面临糟糕的旧代码,Keep Calm & Carry On !

在大型贸易项目中,推倒重来长短常伤害的举动。虽然,假如你是在做尝试,想到新算法可以随时重写。

假如你跳槽、或刚接办一个新项目,面临看上去非常紊乱的旧代码,请沉着下来,忍住推倒重写的激动,想想上面这些履历之谈。

【编辑保举】

  1. “措施员锁死处事器导致公司倒闭”案正式开庭审理
  2. 4000万措施员最爱开源项目和编程说话排名出炉!
  3. 哪种人是软件计划中的稀缺型人才?
  4. 菜鸡措施员都是奈何写代码的?
  5. 几多措施员留意到了「中台」的不和?
【责任编辑:华轩 TEL:(010)68476606】
点赞 0

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读