读书百遍其义自见 好代码你需要写两遍

开发 开发工具
真正好的代码需要程序员多看多写,甚至可能需要程序员至少写两遍。不过我们也会有疑问,我们能有时间每次写两遍吗?

  最近这些年,越来越多的人开始转向敏捷开发。各种敏捷开发技术并不新鲜,大多是在80 和90年代发展形成。但只是在最近这些年,程序员和(更重要的是)一些商业顾问,架构师,客户开始变得喜欢和拥抱敏捷开发。

进化中的需求

  现在的一种普遍的认识是,在开始编码前,你不可能把所有的需求都写完备。这些需求的确定是一个逐渐发展进化的过程。使用短开发周期/springts,我们一步步的开发程序,使用多次迭代的方式完成从客户方得到的***需求。这些都是基于一个进化的思想。就像生活中,我们总是通过一步步的改进来达到***一样。

进化中的代码!

  可是,这就完事了吗?如今大部分的程序员都认识到了需求必定是一步步的挖掘出来的。但他们却忘了自己的工作!?他们仍然认为他们的框架和架构在项目开始之初就定型了。同样,代码一旦写成,程序就完成了… 不是吗?

  。以我的经验,所有好的程序都至少要写两遍。***编是你过于仓促,不能很好的理解需求、实现需求。不错,当看到了某种业务模式,我们知道要提炼出方法,围绕着它实现业务职责。你最终写成的代码是非常好的,但,它不是优秀的。

  在我们目前的项目中,几乎所有的重要功能模块都从头重写过数次。慢慢的但明显的,代码变得越来越好。一旦你对某段程序做了第三或第四次增补,或又找到了一个bug,你能感觉到这程序什么地方有异味。你开始躲避触碰这段程序,你为不需要在处理这段程序而高兴。当有了这样的感觉后我会怎么做?我会删了这些代码。

  可是… 可是… 这样你就要完全从头开始了!?

  你又错了! 当然,IDE里空了,代码全没了,也许一些测试程序会存留下来。但你却对你的代码应该做什么有了扎实的认识。你也知道以前这段代码是什么样的,你知道它以前的内伤和异味在哪里!有了这些认识,你能写出更好,甚至是非常优秀的代码!不错,我们也可以保留这些代码,使用一些重构措施…但你可能再也找不到这样好的从头开始、更好的编写它的机会了。

  再次,就像生活中的所有事情:要让事情变的***,你需要经过多次的进化迭代。对你的需求是这样,对你的架构和代码也是如此。

写两遍,就意味着两倍的时间吗?

  当告诉人们我的观点是所有的程序都至少写两遍时,他们担心花费两倍的项目时间。但事实远非如此。下面是原因:

第二次写代码只是用去你初次写代码的很少一部分的时间。重写之后,代码的质量会有明显的提高,可维护性,可扩展性都有改善,包括编程的速度。

  祝你好运,坚持重新改进你的代码!

【编辑推荐】

  1. 揭秘:Facebook如何发布代码
  2. 25个不错PHP的游戏编程脚本代码分享
  3. 程序员应该具备的11项基本技能
  4. .NET程序员是否应该放弃VB.NET?
  5. 在西方程序员眼里 东方的程序员是什么样的?
责任编辑:彭凡 来源: 开源中国社区
相关推荐

2009-03-13 15:32:49

程序员论文架构师

2015-07-30 09:48:38

自学编程3遍读书法

2018-08-27 05:29:29

PandasPython数据集

2021-02-05 06:41:52

运维生产日志重复打印

2021-05-20 08:30:47

运维日志打印

2015-10-10 11:10:24

重敲代码拷贝粘贴

2022-02-22 09:16:41

AndroidWindows状态栏

2014-03-31 09:13:20

2021-05-19 08:55:37

代码程序员经验分享

2021-08-12 10:36:18

order byMySQL数据库

2020-02-25 23:36:04

代码开发工具

2013-02-18 13:36:06

Google街景

2023-01-10 19:47:47

Redis原理多线程

2017-12-26 14:17:24

润乾报表

2020-09-21 05:57:11

代码编程语言开发

2019-04-11 14:51:12

数据

2021-06-15 07:15:15

Oracle底层explain

2022-01-17 20:59:37

开发group by思路

2021-12-01 07:26:13

IO模型异步
点赞
收藏

51CTO技术栈公众号