我又一次在相关书籍看到了文档的重要性
数据的表现形式是编程的根本。创造出自精湛的技艺,精炼、充分和快速的程序也是如此。
技艺改进的结果往往是战略上的突破,而不仅仅是技巧上的提高。
这种战略上突破有时是一种新的算法,如快速傅里叶变换,或者是将比较算法的复杂度从n2降低到nlogn。
更普遍的是,战略上突破常来自数据或表的重新表达——这是程序的核心所在。
如果提供了程序流程图,而没有表数据,我们仍然会很迷惑。而给我看表数据,往往就不再需要流程图,程序结构是非常清晰的。
文档的主要内容:
1、目的。主要的工作是什么?开发程序的原因是什么?
2、环境。程序运行在什么样的机器、硬件配置和操作系统上?
3、范围。输入的有效范围是什么?允许显示的合法范围是什么?
4、实现功能和使用的算法。精确地阐述它做了什么。
5、输入—输出格式。必须确切和完整的。
6、操作指令。包括控制台及输入内容正常和异常结束的行为。
7、选项。用户的功能选项有哪些?如何在选项之间进行挑选?
8、运行时间。在指定的配置下,解决特定规模问题所需要的时间?
9、精度和校验。期望结果的精确程度?如何进行精度的检测?
一般来说,三四页纸常常就能容纳以上的所有信息。不过往往需要特别注意的是表达的简洁和精确。
由于它包含了和软件相关的基本决策,所以这份文档的绝大部分需要在编程编制之前书写。
文档用文字记录了充满了维度的软件相关东西。
我意识到这些东西,是存在且必要的。它将我们所面对的程序,或者说项目,简化了,易懂了,直观了。
就这些好处,不得不说,我们能更容易发现里面的突破点,或者所暗藏的问题。
时间: 2024-10-15 11:58:23