閱讀材料一:靜態檢查>7.文檔假設

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

為什么我們需要寫下我們的假設?因為程序全是假設.如果我們不把它們寫下來,我們將不記得它們,其他將要讀我們代碼或者修改我們代碼的人也將不知道它們.他們將會做出猜測.

項目必須被寫下來考慮到兩個目的:

- 和電腦交流.首先假設你項目的編譯器很敏感--語法正確和類型正確--然后邏輯要正確才能在運行時得到正確的結果.

- 和其他人交流.使得項目容易懂,因此當其他人必須修復它,提升它,適應它時,他們能夠做到.

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,837評論 18 139
  • Reading 1: Static Checking > Mutating Values Vs. Reassign...
    達貢之邪力閱讀 297評論 0 0
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,740評論 18 399
  • 我在東華理工,17:35,體測完成,這里下著小雨,正在回宿舍的路上,天比藤縣黑得早,我也懷念過去的日子,曾經的人,...
    啊榮啊閱讀 236評論 0 1
  • 有時候喜歡很好,比愛好,比愛更簡單而直接;有時候愛很好,比喜歡好,比喜歡更深刻而長久。最好的結合大概就是喜歡而愛著...
    主角是壞蛋閱讀 288評論 0 0