我們不需要代碼之外的文檔

jopen 11年前發布 | 8K 次閱讀 代碼

我們不需要代碼之外的文檔

        英文原文:We Don’t Need That Documentation

        “你需要寫更詳細的文檔”。你聽到了沒有?我聽到了,很多次,在很多公司里。大多數人都會因為沒有寫文檔而內心不安,認為應寫文檔。但我不是。

        文檔有兩種——代碼內和代碼外。代碼內文檔包括 javadoc (或任何用來描述類和類方法的語言工具)和代碼注釋。外部文檔包括描述產品的文檔和內部材料。

        外部文檔最大的問題:它會過期不更新。讓它們保持同步更新是一個麻煩且耗時的工作。

        外部文檔第二大問題:沒有人真正用它們。

        程序員是寫代碼的。他們善于讀代碼。代碼對于他們有特殊意義。給重要類寫說明,在方法內部對重要場景寫注釋,這被認為是最佳編程實踐方法,優秀 的程序員都這么做。這能讓代碼對于人們來說更易理解,加上能自我說明的編碼方法,這就是一部完整適用的文檔。它不需要你去同步更新(你修改代碼的同時修改 了它)。

        我們需要外部文檔嗎?也許吧。有必要對整個系統架構做一些簡潔的描述,讓這些代碼有一個大的背景。有哪些模塊,它們是如何交互的——這就夠了,只需一頁。但這同樣會過期不更新,但至少它比較容易維護,團隊首領和架構師需要經常的檢查它們是否已經過期。

        如果你是測試人員,或是產品經理,你會說你不理解這些程序,你的工作中需要這些文檔。我可能有些粗魯,但如果你需要這些東西,你應該自己去寫。 程序員不是技術文檔撰寫員,寫外部文檔不是他們的工作,也不是他們感興趣的。如果你不想寫這些文檔,而你仍想知道這些程序是干什么的,那就去問程序員吧。 他們會樂意為你讀這些注釋,向你解釋它們的功用。如果代碼的功用和期望的動作不一致時,那去檢查問題跟蹤系統,看看需求究竟是什么樣的。你不需要外部文檔 來描述這些代碼是干什么的。

        當然,軟件是給用戶使用的,需要一些用戶手冊,但這實際應該由其他人來編寫。

        所以,下次當有人堅持認為程序員需要寫文檔來描述程序的功能時,駁斥他們。堅信這是在浪費時間和精力,堅信有了代碼和注釋就足夠了。如果這些不夠,這說明你需要有更好的編程規范和編程習慣,而不是寫文檔。

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!