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