ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
### 「重构」助你找到臭虫(bugs) 对代码的理解,可以帮助我找到臭虫。我承认我不太擅长调试。有些人只要盯着一大段代码就可以找出里面的臭虫,我可不行。但我发现如果我对代码进行重构,我就可以深入理解代码的作为,并恰到好处地把新的理解反馈回去。搞清楚程序结构的同时,我也清楚了自己所做的一些假设,从这个角度来说,不找到臭虫都难矣。 这让我想起了Kent Beck经常形容自己的一句话:『我不是个伟大的程序员;我只是个有着一些优秀习惯的好程序员而己。』重构能够帮助我更有效地写出强固稳健(robust)的代码。 **「重构」助你找到臭虫(bugs)** 对代码的理解,可以帮助我找到臭虫。我承认我不太擅长调试。有些人只要盯着一大段代码就可以找出里面的臭虫,我可不行。但我发现如果我对代码进行重构,我就可以深入理解代码的作为,并恰到好处地把新的理解反馈回去。搞清楚程序结构的同时,我也清楚了自己所做的一些假设,从这个角度来说,不找到臭虫都难矣。 这让我想起了Kent Beck经常形容自己的一句话:『我不是个伟大的程序员;我只是个有着一些优秀习惯的好程序员而己。』重构能够帮助我更有效地写出强固稳健(robust)的代码。 **「重构」助你提高编程速度** 终于,前面的一切都归结到了这最后一点:重构帮助你更快速地开发程序。 听起来有点违反直觉。当我谈到重构,人们很容易看出它能够提高质量。改善设计、提升可读性、减少错误,这些都是提高质量。但这难道不会降低开发速度吗? 我强烈相信:良好设计是快速软件开发的根本。事实上拥有良好设计才可能达成快速的开发。如果没有良好设计,或许某一段时间内你的进展迅速,但恶劣的设计很快就让你的速度慢下来。你会把时间花在调试上面,无法添加新功能。修改时间愈来愈长,因为你必须花愈来愈多的时间去理解系统、寻找重复代码。随着你给最初程序打上一个又一个的补丁(patch),新特性需要更多代码才能实现。真是个恶性循环。 良好设计是维持软件开发速度的根本。重构可以帮助你更快速地开发软件,因为它阻止系统腐败变质,它甚至还可以提高设计质量。 当我谈论重构,常常有人问我应该怎样安排重构时间表。我们是不是应该每两个月 就专门安排两个星期来进行重构呢?