曾经,Borland的创始人 Philippe Kahn向众人吹嘘:Quattro Pro会比Microsoft Excel要好用得多,因为它是从头开始编写的,全部都是新的源代码!
难道对于程序员来说,旧代码真就如此糟糕吗?
实际上,程序员都有一颗工程师的心,当他们到一片新的场地,想做的第一件事就是将旧的一切推倒重来。也许下面一个漫画能准确表达出,当一个程序员读别人代码是一种怎样的体验?
然而,当你决定抛弃这些旧代码从零开始的时候,你也丢掉全部前任努力的结果,
这里就要谈到常见的认知误区:那就是新代码一定比旧代码好。
旧代码是已经运行过的,测试过的。无数的bug在被发现前都上线运行过,发现之后程序员们可能在花了好些日子才修复了这些bug,而新代码可能会再犯旧代码曾经出过的错。
对技术领导者来说,重写代码异常艰难,甚至会威胁产品的市场竞争力。而且在重写的漫长过程中可能会遇到一些意外情况,例如资金链的断裂、核心程序员离职等等。
因而,当你发现前任留下的代码乱七八糟的时候,不妨Keep Calm & Carry On,从以下三个方面入手理解代码、改善代码:
一、代码效率不高
曾经,Netscape的渲染代码被传非常缓慢。但事实上,这只会影响该项目的一小部分,这部分是你可以优化甚至重写的。你完全不必重写全部代码。优化速度的1%工作量,会让你获得99%的爆炸性提高。
二、代码的结构有问题
如果一段网络代码突然弹出了自己的对话框,应该是UI代码需要被处理。这些问题可以被解决掉,你要一次次小心地移动代码,重构,改变接口。还需要一位细心的工程师立马仔细地检查这些改变是否有问题,从而不打扰到其他人。事实上,甚至比较大的结构变化也可以不扔掉代码来完成。
三、代码的确写得很丑
有些代码真的写的很丑,比如大牛程序员Joel Spolsky曾参与一个项目,开始用下划线做开始的成员变量约定,但后来改用更标准的“M_”。所以一半的功能用“_”开始,一半用“M”开始,这看起来真的很丑陋。但这个问题5分钟就能解决,而不用从头开始写全部的代码。
我自己是一名高级python开发工程师,这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。送给正在学习python的小伙伴!这里是python学习者聚集地,欢迎初学和进阶中的小伙伴!
网友评论