将程序划分为模块:提高代码的可维护性和可读性
1. 拆分程序的好处和必要性
将程序分解成更小、更易于管理的部分有几个显著的优点。首先,将程序分解成较小的模块可以减少编译时间。对于小型项目,Code::Blocks只需几秒钟就能处理好代码,但对于非常大的项目,编译时间可能会显著增加。我曾经参与的一些项目,甚至需要整晚的时间才能重新构建。
此外,由于一两行代码的改动而重新编译整个项目是极其浪费资源的。更好的做法是仅重新编译包含改动的模块,然后将其重新链接到所有未改动的模块中,以创建一个包含改动的新可执行文件。通常,编译的时间比链接要长。
其次,理解、编写、测试和调试一个由多个经过深思熟虑但相对独立的模块组成的程序会更加容易。每个模块代表一组逻辑上的功能分组。一个包含所有程序可能使用的所有函数的大型单一源模块很快就会变得难以管理。
第三点是重用的便利性。一个包含可重用函数的模块,可以链接到未来的程序中,这样的模块更容易进行文档编写和维护。对模块进行修改以修复某个错误,可以迅速应用到使用该模块的其他可执行文件中。
最后,团队合作的问题。两位程序员不能(至少不能很好地)同时处理同一个模块。一个更简单的方法是,将一个模块中包含的一组功能分配给一位程序员,同时将另一个模块中的一组不同功能分配给另一位程序员。当模块准备就绪进行测试时,可以将它们链接起来。