首页 > 职业生涯 > 管理 > 想要好代码问世,我们至少要写两次
2014
07-04

想要好代码问世,我们至少要写两次

在过去的几年里,越来越多的人趋向于敏捷开发。而这方面的技术也不是最近才出来的,早在80年代90年代就已经有了。但却是在最近,程序员、商业顾问、建筑师和客户才渐渐青睐于敏捷开发。

不断变化的需求

在开始项目之前,我们是没办法写全所有要求的,这一点已经成为了共识。随着项目进程的推进,这些需求才会一个个被提出来。在我们一点点为整个程序添 砖加瓦写代码的时候,还需要不断融合客户的最新要求。这就是哲学所说,事物是不断变化发展的道理,我们要与时俱进。就像生活中,我们需要通过一步一步的改 进以达到最优一样。

不断变化的代码!

这才是全文的重点,你绝对不能不看,否则就等于入宝山而空手归了。现在的大多数程序员已经走进了一种思维定势,那就是需求必须逐步提取。但是他们似乎忘记了他们的工作!?他们竟然还认为一个项目一旦开启,框架及其结构就得固定不变。代码一旦能运行了,就高枕无忧了。

真是大错特错。根据我多年的经验,如果想写出好代码,那么就必须千锤百炼,至少要写两次代码。第一次写的时候因为赶进度或者别的原因,没有注释或者 写明代码的用途。当然如果你借鉴某些模式,然后提取可用的方法,使自己要负责的工作大大减少,这也是可行的。但是我不得不说,这样的写出来的代码或许会相 当不错,但绝对不会是优秀的代码。

在我现在着手的这个项目中,几乎所有重要的功能都被多次修改。虽然看上去进展缓慢,但是谁也不能否认代码的确变得越来越好了。但是当你第三或者第四 次增删某个代码片段,或者你又一次修复bug成功的时候,整段代码对你而言其实已经了如指掌了。这个时候,一旦看到这段代码,我们就会直觉跳过它,甚至不 愿意多看一眼。想知道当我有这种厌倦感的时候我是怎么做的吗?我会删除这段代码。

大家往往会犹豫:那不是意味着我要重新写过了!?

你又错了!虽然,你的IDE上面的的确确是啥都没了(可能有些测试会侥幸幸免于难),但是对这段代码的各个方面的理解却是加深了。因为你对以前那段 代码是怎么写的已经烂熟于心,所以对于缺陷和bug也胸有成竹。而基于这些方面的深度掌握,你完全可以写出更好的代码——甚至是优秀的代码。当然我们也可 以不删代码,而选择不断改进代码、重构方式和功能等等。但是,这又哪里比得上重写一次最后得到的程序好呢?

正如俗语有言,“宝剑锋从磨砺出,梅花香自苦寒来”一样,“凤凰涅槃”才能“浴火重生”。这句话也适用于需求、架构以及代码,重写绝对能让你的代码焕发出夺目的光彩。

写两次代码,太慢了?

当我提出我的观点,代码至少要写两次的时候,所有人都持反对意见:比起别人这不是需要花双倍的时间才能完成项目了吗?如果你想出色完成项目,这样的想法不亚于南辕北辙。以下是我给出的理由:

1. 第二次写代码所用的时间绝对比你第一次写要少很多很多。

2. 重写的代码质量好、可维护性高、可扩展性大。

文章的最后,祝各位好运,希望本文对你的编程事业有所帮助。如果你觉得重写代码毫无用途,欢迎联系相互探讨、共同进步。

转自:http://news.html5tricks.com/better-code-write-twice.html

最后编辑:
作者:郑 国华
这个作者貌似有点懒,什么都没有留下。

留下一个回复