最近,我阅读了代码阅读方法与实践的下一部分。
大型的编码工作,由于它们的大小与范围,经常能够证明应用一些技术的必要性,而在其他情况下这些技术可鞥根本不值得使用。常见的一些设计与实现方法有:可视化软件过程和实用准则、重要的架构、积极的分解、多平台的支持、面向对象技术、运算符重载、库、组件和进程、领域专用和定制的语言工具、对预处理的积极使用。过去,我对于大型编码工作的设计与实现技术的了解不够深入,将来,我会尽可能的深入了解大型编码工作的设计与实现技术。
大多数大型的项目使用一个复杂的编译过程。这类过程一般能够处理配置选项、多种类型的输入输出文件、错综复杂的相互依赖和多个编译目标。由于编译过程最终会影响生成的输出,所以能够“阅读”项目的编译过程和阅读项目的代码同样重要。过去,我没有关注过项目的编译过程和制作文件,将来,我会尽可能的关注一些编译过程和制作文件。
配置可以控制的软件系统,允许开发者编译、维护和发展源代码的单一正式版本。只维护源代码的单一副本简化了更改和演化管理。通过使用适当的配置,相同的源代码体可以:创建拥有不同特性的产品;为不同的构架或操作系统构造产品;在不同的开发环境下进行维护;为不同的库链接;使用运行期间指定的配置选项来运行。过去,我对于配置的了解不够深入,将来,我会尽可能的提升自己关于配置的认识。
我们可以将系统的源代码想像成在空间和时间两个方向上延伸。代码,组织成文件和目录的形式,占据空间,同时,统一代码还随着时间的推移不断演化。修订控制系统可以跟踪代码的演化,标记重大的事件,并记录更改背后的原由,允许我们查看和控制时间要素。过去,我对于修订控制的了解不够深入,将来,我会尽可能的深入了解修订控制。