• 《人月神话》阅读笔记(三)


    我又一次在相关书籍看到了文档的重要性 

    数据的表现形式是编程的根本。创造出自精湛的技艺,精炼、充分和快速的程序也是如此。

    技艺改进的结果往往是战略上的突破,而不仅仅是技巧上的提高。

    这种战略上突破有时是一种新的算法,如快速傅里叶变换,或者是将比较算法的复杂度从n2降低到nlogn。

    更普遍的是,战略上突破常来自数据或表的重新表达——这是程序的核心所在。

    如果提供了程序流程图,而没有表数据,我们仍然会很迷惑。而给我看表数据,往往就不再需要流程图,程序结构是非常清晰的。

    文档的主要内容:

    1、目的。主要的工作是什么?开发程序的原因是什么?

    2、环境。程序运行在什么样的机器、硬件配置和操作系统上?

    3、范围。输入的有效范围是什么?允许显示的合法范围是什么?

    4、实现功能和使用的算法。精确地阐述它做了什么。

    5、输入—输出格式。必须确切和完整的。

    6、操作指令。包括控制台及输入内容正常和异常结束的行为。

    7、选项。用户的功能选项有哪些?如何在选项之间进行挑选?

    8、运行时间。在指定的配置下,解决特定规模问题所需要的时间?

    9、精度和校验。期望结果的精确程度?如何进行精度的检测?

    一般来说,三四页纸常常就能容纳以上的所有信息。不过往往需要特别注意的是表达的简洁和精确。

    由于它包含了和软件相关的基本决策,所以这份文档的绝大部分需要在编程编制之前书写。

    文档用文字记录了充满了维度的软件相关东西。

    我意识到这些东西,是存在且必要的。它将我们所面对的程序,或者说项目,简化了,易懂了,直观了。

    就这些好处,不得不说,我们能更容易发现里面的突破点,或者所暗藏的问题。

  • 相关阅读:
    Spring常见面试题
    Mybatis常见面试题
    SQLSERVER查询整个数据库中某个特定值所在的表和字段的方法
    四款常见数据库比较同步软件汇总
    SQL Server常用函数整理
    比较经典的SQL面试题
    sqlserver查询数据库中有多少个表
    数据库设计三大范式
    MS SQL SERVER导出表结构到Excel
    flask-vue 解决跨域问题
  • 原文地址:https://www.cnblogs.com/maplely/p/5579255.html
Copyright © 2020-2023  润新知