编码又快又好,这是所有程序员想要追求的目标。这个目标能够达到吗? “快”和“好”,似乎是一个矛盾体。很多追求“快”的结果就是忽视质量,就是不够“好”,但是这样快速开发出来的产品,仍然会被交付前的测试拦住,从整个开发过程来看,它也不够“快”。 所以,真正的又快又好应当是追求克劳士比提倡的“一次就做对”,减少甚至消除因为纠错而浪费的时间。 所谓“磨刀不误砍柴工”! 如果你认同这个观点,那么所有在产品生成之前的步骤增加的质量检查,都可以帮助你实现“又快又好”的目标。 下面是《系统程序员:成长计划》书中介绍的“代码阅读法”,程序员在写完代码之后,编译之前,使用它对代码进行自检查,这样可以剔除很多代码中潜在的错误,减少后续修复代码错误的时间,使得编码“又快又好”。 代码阅读法包括以下内容:
程序员可以维护一张常见错误检查列表,在一个单元编码完成后按照检查列表逐个检查。常见错误包括语法错误、代码排版和命名规则等形式上的问题,以及深层次的的编程错误,比如内存泄露、越界访问、变量初始化、函数返回值等问题,如果有时间,还可以考虑重构。
有些逻辑错误没有那么直观,很难一眼看出来,这时就需要程序员用自己大脑模拟计算机去执行代码语句,想象一下代码如何处理,考虑不同的输入数据和各种边界值,这样不仅能发现逻辑错误,也能帮助我们想到一些没有处理的情况,让程序的逻辑更严谨。
当人们在对别人讲解自己代码的时候,往往会在是别人还没有听明白的时候,自己就已经发现里面存在的错误了。所以,在阅读代码的时候,可以假想自己身边有个朋友,把自己的思路讲给“他”听,同时也假想“他”来质疑我。这样可以让自己的思路更清晰,并且容易发现代码中的问题。 虽然这种代码阅读法也会花掉一些时间,但是它可以帮助程序员省下更多的调试时间,而且能够提高代码质量,所以说它是名符其实的“写得又快又好的秘诀”。
这正是: 模拟代码去执行,假想讲给朋友听 编译之前先检查,磨刀不误砍柴工 参考书目:系统程序员:成长计划,作者:李先静,出版社:人民邮电出版社 |
|