1. 程式人生 > >如何寫好 README (開發文件書寫規範)

如何寫好 README (開發文件書寫規範)

推薦文章:

作者:園長
連結:https://zhuanlan.zhihu.com/p/22900142
來源:知乎
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。

簡評:因為 README,6 個月後的你仍然知道當初寫了什麼;因為 README,其他人看一眼就能知道是否需要;因為 README,讓你的程式碼更有質量;因為 README,你成了個作家。

README 是一種說明檔案,通常隨著一個軟體而釋出,裡面記載有軟體的描述或注意事項。這種檔案通常是一個純文字檔案,被命名README.TXT、README.1ST或READ.ME等等;但也有RTF或DOC格式的讀我檔案。它的檔名通常是以大寫英文來命名的,因為大寫英文字母比小寫有著較小的ASCII碼;亦因此在一些以ASCII排序檔案的環境裡,它能被保證被列在檔案列表的第一位。這種檔案的特殊命名使任何人能第一時間發現並閱讀這個檔案,即使他們本身並沒有關於 README 的相關知識。

README 應該要簡短,並且能夠節省時間。

完整的 README 應該包括以下:

  • 專案和所有子模組和庫的名稱(對於新使用者,有時不同命名會導致混亂)
  • 對所有專案,和所有子模組和庫的描述
  • 如何使用 5-line code(如果是一個庫)

  • 版權和許可資訊(或閱讀許可證)

  • 抓取文件指令

  • 安裝、配置和執行程式的指導

  • 抓取最新程式碼和構建它們的說明(或快速概述和「閱讀 Install」)

  • 作者列表或「Read AUTHORS」

  • 提交bug,功能要求,提交補丁,加入郵件列表,得到通知,或加入使用者或開發開發區群的介紹

  • 其他聯絡資訊(電子郵件地址,網站,公司名稱,地址等)

  • 一個簡短的歷史記錄(更改,替換或者其他)

  • 法律宣告

Apache HTTP Server 的 README 和 GNU 的README 都很簡潔清晰。

對於格式,我個人儘可能的堅持 UNIX 的傳統,而且在 github 上用 Markdown 格式。

舉個例子:

  • 如果用英文寫的文件,只用 ASCII
  • 如果可能寫不同語言,比如README.ja
  • 每行少於 80 個字元
  • 段落之間空行
  • 標題下劃線
  • 使用空格而不是 tab 鎖緊(對此園長懷疑作者是空格神教的)

把以上結合起來就成了:

Documentation
-------------

GNU make is fully documented in the GNU Make manual, which is contained
in this distribution as the file make.texinfo.  You can also find
on-line and preformatted (PostScript and DVI) versions at the FSF's web
site.  There is information there about ordering hardcopy documentation.

  http://www.gnu.org/
  http://www.gnu.org/doc/doc.html
  http://www.gnu.org/manual/manual.html 

最後貼上wiki對README的定義:

A readme (or read me) file contains information about other files in a directory or archive and is very commonly distributed with computer software.

and it lists the following contents:

  • configuration instructions
  • installation instructions
  • operating instructions
  • a file manifest
  • copyright and licensing information
  • contact information for the distributor or programmer
  • known bugs
  • troubleshooting
  • credits and acknowledgements
  • a changelog