Reading 1: Static Checking > Documenting Assumptions
原文地址:https://courses.edx.org/courses/course-v1:MITx+6.005.1x+3T2016/courseware/Readings_Videos/01-Static-Checking/
文檔假設
寫下一個變量的類型是寫了一個關于這個變量的文檔:int n意味著n永遠引用一個正整數,永遠不會引用一個列表或者其他類型.Java實際在編譯時檢測了這個同時保證你程序中沒有地方違反這個假設.
給一個變量聲明final也是一種類型的文檔,final List<Integer> list是一個聲明list變量在其最初一次賦值后將會永遠指向同一個List對象.Java也會檢查這個,靜態地.
在hailstoneSequence方法上面說明的注釋,我們做了另一種假設的文檔,一種Java不會自動檢查的文檔:
圖表1
為什么我們需要寫下我們的假設?因為程序全是假設.如果我們不把它們寫下來,我們將不記得它們,其他將要讀我們代碼或者修改我們代碼的人也將不知道它們.他們將會做出猜測.
項目必須被寫下來考慮到兩個目的:
- 和電腦交流.首先假設你項目的編譯器很敏感--語法正確和類型正確--然后邏輯要正確才能在運行時得到正確的結果.
- 和其他人交流.使得項目容易懂,因此當其他人必須修復它,提升它,適應它時,他們能夠做到.