我們不需要程式碼之外的文件
“你需要寫更詳細的文件”。你聽到了沒有?我聽到了,很多次,在很多公司裡。大多數人都會因為沒有寫文件而內心不安,認為應寫文件。但我不是。
文件有兩種——程式碼內和程式碼外。程式碼內文件包括javadoc(或任何用來描述類和類方法的語言工具)和程式碼註釋。外部文件包括描述產品的文件和內部材料。
外部文件最大的問題:它會過期不更新。讓它們保持同步更新是一個麻煩且耗時的工作。
外部文件第二大問題:沒有人真正用它們。
程式設計師是寫程式碼的。他們善於讀程式碼。程式碼對於他們有特殊意義。給重要類寫說明,在方法內部對重要場景寫註釋,這被認為是最佳程式設計實踐方法,優秀的程式設計師都這麼做。這能讓程式碼對於人們來說更易理解,加上能自我說明的編碼方法,這就是一部完整適用的文件。它不需要你去同步更新(你修改程式碼的同時修改了它)。
我們需要外部文件嗎?也許吧。有必要對整個系統架構做一些簡潔的描述,讓這些程式碼有一個大的背景。有哪些模組,它們是如何互動的——這就夠了,只需一頁。但這同樣會過期不更新,但至少它比較容易維護,團隊首領和架構師需要經常的檢查它們是否已經過期。
如果你是測試人員,或是產品經理,你會說你不理解這些程式,你的工作中需要這些文件。我可能有些粗魯,但如果你需要這些東西,你應該自己去寫。程式設計師不是技術文件撰寫員,寫外部文件不是他們的工作,也不是他們感興趣的。如果你不想寫這些文件,而你仍想知道這些程式是幹什麼的,那就去問程式設計師吧。他們會樂意為你讀這些註釋,向你解釋它們的功用。如果程式碼的功用和期望的動作不一致時,那去檢查問題跟蹤系統,看看需求究竟是什麼樣的。你不需要外部文件來描述這些程式碼是幹什麼的。
當然,軟體是給使用者使用的,需要一些使用者手冊,但這實際應該由其他人來編寫。
所以,下次當有人堅持認為程式設計師需要寫文件來描述程式的功能時,駁斥他們。堅信這是在浪費時間和精力,堅信有了程式碼和註釋就足夠了。如果這些不夠,這說明你需要有更好的程式設計規範和程式設計習慣,而不是寫文件。
相關文章
- 我們不需要字串型別字串型別
- [譯] 那些我們不需要的 HTTP 頭資訊HTTP
- 我們或許不需要 React 的 Form 元件ReactORM元件
- 封裝我們的VBA程式碼封裝
- 碼農程式碼之外的生存指南
- 如何結構化我們的程式碼
- 我們或許不需要 classnames 這個庫
- 我們正在錯誤的組織程式碼!
- 或許我們在 JavaScript 中不需要 this 和 classJavaScript
- 我們的程式“猿”
- 程式碼之外的能力--立即行動
- 《軟技能 程式碼之外的生存指南》
- 如何優化我們的程式碼(vue專案)優化Vue
- 簡單的3步,重構我們的程式碼
- 使用這11個程式碼,可以大大地簡化我們的程式碼。
- 程式碼之外(1)寫排期
- 程式設計師如何保證我們的程式碼質量程式設計師
- 《軟技能:程式碼之外的生存指南》總結
- 軟技能-程式碼之外的生存指南6(健身)
- 軟技能-程式碼之外的生存指南7(精神)
- 讓程式碼寫程式碼,自主程式設計的 AI 離我們還有多遠?程式設計AI
- 來我們探究一下net/http 的程式碼流程HTTP
- GitHub 新出的功能!可以幫我們自動寫程式碼Github
- 你或許不需要一個獨立 APP:我們用小程式來做社群的官方應用APP
- 如何禁止非法授權修改,保護我們的Word文件?
- 軟技能-程式碼之外的生存指南5(理財)
- CNN、Transformer、Uniformer之外,我們終於有了更高效的影片理解技術CNNORM
- 我們應該如何編寫高質量的前端程式碼前端
- “旁觀者效應”是如何毀掉我們的程式碼的
- 一個巧合,我把文件寫進了程式碼裡
- 不給程式碼寫文件,讓程式碼文件化
- 為什麼我們程式設計師寫不出好程式碼?程式設計師
- 讓我們來搞崩 Cocoa 吧(黑暗程式碼)
- 我們一直談論“寫程式碼”,但你會“讀程式碼”嗎?
- 軟技能-程式碼之外的生存指南4(生產力)
- 軟技能-程式碼之外的生存指南3(自我學習)
- 我們身邊偉大的女程式設計師們程式設計師
- 哥們,B/S瞭解嗎?——啥玩意,我是敲程式碼的