每一个软件模块都具有三项职责
1.运行起来所完成的功能。这也是该模块得以生存的原因。
2.他要应对变化。几乎所有的模块在他们的生命周期中都要变化,开发者有责任保证这种变化尽可能的简单。一个难以改变的模块式有问题的,即使能够工作,也需要对他进行修正。
3.能够使其阅读者理解。对该模块不熟悉的开发人员应该能够比较容易的阅读并理解他。一个无法被理解的模块也是有问题的,同样需要对它进行修正。