在软件开发过程中没有比获得一个只有很少甚至没有说明文档的代码库而又要求进行维护更具挑战性的事情了。这些文档不只是告诉工程师某个特定函数或变量是做什么的,而且能够展示和传达软件为何以某个特定方式实现。##函数或变量注释中包含如何使用它们的例子是很有用的。说应该如何使用是一回事,但展示如何使用会让人更清楚其用途。除了能够减少错误使用对象的机会外,还能给人一个更清晰的印象。##在一个项目的软件实现阶段开始之前,应该有一个软件设计阶段。这个设计阶段无疑会生成许多漂亮的图(如流程图和状态机),并被用于实际实现。