最近,我阅读了代码阅读方法与实践的一部分。
有时,阅读代码是一件不得不去做的事。有些时候,阅读代码也许是为了了解程序是如何工作的。您阅读代码可能是将代码作为一种文献。每种原因的代码阅读都有自己的一套技术,强调不同方面的技能。过去,我对于为什么以及如何阅读代码的理解不够深入,将来,我会尽可能的理解为什么以及如何阅读代码。
超过一半的程序代码是法律与管理信息,如版权信息、许可信息和程序版本标识符。大型的、组织有序的系统通常都会提供此类信息,同时还会归纳具体程序或模块的功能。重用来自开放源码组织的源代码时,要注意版权公告规定的许可要求。过去,我对于版权信息的了解不够深入,在使用代码的过程中没有认真关注过代码的版权信息,将来,我会更加重视版权信息。
要了解函数或方法的功能,可以使用下面的策略:猜,基于函数名;阅读位于函数开始部分的注释;分析如何使用该函数;阅读函数体的代码;查阅外部的程序文档。过去,我对于如何了解函数或方法的功能的认识不够广泛,将来,我会尽可能的提高自己了解函数或方法的功能的能力。
大多数情况下,无限循环用来表达在循环开始或结束时退出条件无法指定的循环。这类循环一般不是通过return语句退出函数,就是通过break语句退出循环,或者调用exit或类似的函数退出整个程序。C++,C#和Java程序还可以通过异常跳出这类循环。过去,我对于无限循环的了解不够深入,将来,我会尝试使用无限循环来写一些东西。
在阅读代码时,遇到标记和goto语句应该立即引起足够的重视。它们容易被误用,创造出“意大利面条”式的代码:代码的控制流程难以跟踪和断定。过去,我对goto语句的终身程度不够,将来,我会尽可能的更加重视goto语句。