《人月神话》阅读笔记(三)
我又一次在相關書籍看到了文檔的重要性?
數據的表現形式是編程的根本。創造出自精湛的技藝,精煉、充分和快速的程序也是如此。
技藝改進的結果往往是戰略上的突破,而不僅僅是技巧上的提高。
這種戰略上突破有時是一種新的算法,如快速傅里葉變換,或者是將比較算法的復雜度從n2降低到nlogn。
更普遍的是,戰略上突破常來自數據或表的重新表達——這是程序的核心所在。
如果提供了程序流程圖,而沒有表數據,我們仍然會很迷惑。而給我看表數據,往往就不再需要流程圖,程序結構是非常清晰的。
文檔的主要內容:
1、目的。主要的工作是什么?開發程序的原因是什么?
2、環境。程序運行在什么樣的機器、硬件配置和操作系統上?
3、范圍。輸入的有效范圍是什么?允許顯示的合法范圍是什么?
4、實現功能和使用的算法。精確地闡述它做了什么。
5、輸入—輸出格式。必須確切和完整的。
6、操作指令。包括控制臺及輸入內容正常和異常結束的行為。
7、選項。用戶的功能選項有哪些?如何在選項之間進行挑選?
8、運行時間。在指定的配置下,解決特定規模問題所需要的時間?
9、精度和校驗。期望結果的精確程度?如何進行精度的檢測?
?
一般來說,三四頁紙常常就能容納以上的所有信息。不過往往需要特別注意的是表達的簡潔和精確。
由于它包含了和軟件相關的基本決策,所以這份文檔的絕大部分需要在編程編制之前書寫。
?
文檔用文字記錄了充滿了維度的軟件相關東西。
我意識到這些東西,是存在且必要的。它將我們所面對的程序,或者說項目,簡化了,易懂了,直觀了。
就這些好處,不得不說,我們能更容易發現里面的突破點,或者所暗藏的問題。
轉載于:https://www.cnblogs.com/maplely/p/5579255.html
總結
以上是生活随笔為你收集整理的《人月神话》阅读笔记(三)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ztree插件的使用
- 下一篇: Linux文件(区域)锁函数 -- op