開發(fā)工具總結(9)之開源項目的README文檔的最全最規(guī)范寫法

版權聲明:本文為博主原創(chuàng)文章赂蠢,未經(jīng)博主允許不得轉載。http://www.reibang.com/p/813b70d5b0de

轉載請標明出處:
http://www.reibang.com/p/813b70d5b0de
本文出自 AWeiLoveAndroid的博客


看過很多開源庫,發(fā)現(xiàn)有些庫的文檔寫的一團糟人断,有的甚至就是一個標題,讓你自己下載之后運行,自己摸索胶台,看的很頭疼歼疮。而那些使用量大的庫的文檔寫的很標準,很詳細诈唬,看的很舒服韩脏。

README文檔寫的好的話能減少很多使用成本,能幫助這個庫讓更多人了解铸磅,更多的人用赡矢,可以說好的文檔就是一個門面。
有好的 README 文檔的項目不一定是一個好開源項目阅仔,但一個好開源項目一定有一個好的 README吹散。

下面就簡單的總結一下README文檔規(guī)范寫法。(這只是我個人根據(jù)github上幾百個大型開源庫總結出來的霎槐,如你有更好的意見,歡迎留言梦谜。)

一丘跌、README文檔的組成部分

看過很多開源框架的README文檔,綜合一下唁桩,大概有以下幾部分組成:

  • (一)國際化
  • (二)項目工程介紹
  • (三)項目的使用效果圖
  • (四)項目特點
  • (五)項目的基本結構(架構)
  • (六)集成方式
  • (七)使用方法
  • (八)混淆
  • (九)關于作者/組織及交流方式等信息闭树。
  • (十)貢獻者/貢獻組織
  • (十一)鳴謝
  • (十二)版權信息

二、下面就每個部分簡單的分析一下:

(一)國際化

github是面向全球的一個開源網(wǎng)站荒澡,所以不要局限于中文文檔报辱,建議寫一個英文的README,讓來自全球的人都能更方便的了解你的項目单山。推薦寫法碍现,在REAMDE開頭寫上國際化引用地址:

比如:


國際化

(二)項目工程介紹

項目介紹是必不可少的,它能讓別人快速了解項目米奸。項目介紹主要包括:

  • 項目名稱昼接、logo(沒有l(wèi)ogo就不寫)
  • 這個開源項目是做什么的?
  • 這個項目是什么語言編寫的悴晰?
  • 這個項目目前被多少人用到了慢睡,有多少好評等铡溪?
  • 項目維護棕硫、依賴更新狀態(tài)(如果有的話哈扮,這也可以用)等
  • 項目可用版本及其他版本,以及每個版本的更新信息記錄
  • Demo 或官網(wǎng)地址(如果有)

效果圖如下所示:

英文版:

英文版項目介紹

中文版:

中文版項目介紹

  • 上述案例里面那些圖標,請參考這個網(wǎng)站 Shields.io实檀,打開之后想用哪個直接復制就可以了膳犹,同時它也支持自定義樣式须床。

(三) 項目的使用效果圖

如果是一些自定義控件或者項目的演示效果的豺旬,基本都會放上演示效果圖柒凉,可以是圖片膝捞,也可以是gif圖。
建議:靜態(tài)的頁面的放截圖鲤遥,交互很復雜的建議放gif圖林艘。 如果功能比較多,建議每個功能一張效果圖卜朗。

示例如下:

LoveHeartView使用示意圖如下圖所示:


(四)項目特點

主要是介紹項目的特點,方便別人查看和了解該項目逛万。

比如 360的RePlugin框架的特點就寫的很詳細:

360的RePlugin的項目特點

(五)項目的基本結構(架構)

這里主要介紹項目的各個組成部分得封,如果是框架忙上,可以附帶架構圖解疫粥;如果是其他的梗逮,可以提供一些UML分析圖绣溜,順便分析一下源碼也行的慷彤。

比如 360的RePlugin架構圖解 如下所示:

360的RePlugin架構圖解
關于RePlugin架構的相關說明

(六)集成方式

一般的項目傳到jcenter上面或者AS插件傳到jetbrains的話 一般會附帶相關的集成方式的說明怖喻。(如果沒有這些措施的話,這一步可以略過不看罢防。)

比如 okhttp 就有詳細的3種集成方式:

一個是下載Jar包唉侄;一個是引用Maven庫咒吐;第三個是添加Gradle依賴:

okhttp的集成方式

(七)使用方法

一般的README必不可少的,最重要的就是用法属划,主要包括:安裝恬叹,運行同眯,編譯须蜗,部署硅确,debug柿估,該github上的這個庫如何在自己的項目中使用循未,以及需要注意的問題绣檬,版本更新適配問題等等。

這里就拿 Glide 舉例說明嫂粟,Glide里面有一個詳細的wiki使用文檔的娇未,首頁的README里面也寫了一個簡單的基本用法,如下圖所示:

Glide的基本用法

(八)混淆

一般來說赋元,開源庫都會設置一些混淆規(guī)則的忘蟹,部分項目由于項目類型特殊之處,所以就沒有混淆這一項搁凸,具體的看開源項目來定媚值。

例如LitePal這個開源庫的混淆 如下圖所示:

LitePal混淆規(guī)則

(九)關于作者/組織及交流方式等信息。

這個就很靈活了护糖,不是每一個必備褥芒,當然寫出來方便大家聯(lián)系作者,也是很好的嫡良∶谭觯可以寫一下作者或者組織的聯(lián)系方式,微信寝受,郵箱坷牛,博客,微博很澄,甚至支付寶轉賬二維碼等都是可以放上去的京闰。

例如 blankj的AndroidUtilCode這個庫為例,為了避免打廣告嫌疑甩苛,我做了打碼處理:

(十)貢獻者/貢獻組織

比如 谷歌推出的 sample 里面就有貢獻者/貢獻組織信息蹂楣,如下圖所示:

谷歌推出的sample的貢獻者/貢獻組織信息

(十一)鳴謝

這個主要是引用了哪些開源技術,這里可以做一些鳴謝讯蒲,表示對別人的尊重痊土,其實也是一個引用聲明,避免因為版權而引起不必要的糾紛墨林。

例如:我寫的這個庫 https://github.com/AweiLoveAndroid/CommonDevKnowledge/blob/master/interview/summary.md 里面就寫了鳴謝赁酝。

https://github.com/AweiLoveAndroid/CommonDevKnowledge里面的鳴謝

(十二)版權信息

版本很重要,開源許可證很重要旭等,如果沒有生命版權酌呆,可能會因為一些侵權行為而無法很好的維權,版權信息可以保護作者的權益(個人理解)辆雾。

世界上的開源許可證肪笋,大概有上百種。很少有人搞得清楚它們的區(qū)別。最流行的有六種:GPL藤乙、BSD猜揪、MIT、Mozilla坛梁、Apache而姐、LGPL

烏克蘭程序員Paul Bagwell,畫了一張分析圖划咐,說明應該怎么選擇拴念。這是我見過的最簡單的講解,只用兩分鐘褐缠,你就能搞清楚這 六種許可證之間的最大區(qū)別政鼠。

六種開源許可證之間的區(qū)別

比如 Picasso 里面的版權信息,如下圖所示:

Picasso 里面的版權信息
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末队魏,一起剝皮案震驚了整個濱河市公般,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌胡桨,老刑警劉巖官帘,帶你破解...
    沈念sama閱讀 211,348評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異昧谊,居然都是意外死亡刽虹,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,122評論 2 385
  • 文/潘曉璐 我一進店門呢诬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來涌哲,“玉大人,你說我怎么就攤上這事馅巷√懦妫” “怎么了草姻?”我有些...
    開封第一講書人閱讀 156,936評論 0 347
  • 文/不壞的土叔 我叫張陵钓猬,是天一觀的道長。 經(jīng)常有香客問我撩独,道長敞曹,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,427評論 1 283
  • 正文 為了忘掉前任综膀,我火速辦了婚禮澳迫,結果婚禮上,老公的妹妹穿的比我還像新娘剧劝。我一直安慰自己橄登,他們只是感情好,可當我...
    茶點故事閱讀 65,467評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著拢锹,像睡著了一般谣妻。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上卒稳,一...
    開封第一講書人閱讀 49,785評論 1 290
  • 那天蹋半,我揣著相機與錄音,去河邊找鬼充坑。 笑死减江,一個胖子當著我的面吹牛,可吹牛的內容都是我干的捻爷。 我是一名探鬼主播辈灼,決...
    沈念sama閱讀 38,931評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼也榄!你這毒婦竟也來了茵休?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,696評論 0 266
  • 序言:老撾萬榮一對情侶失蹤手蝎,失蹤者是張志新(化名)和其女友劉穎榕莺,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體棵介,經(jīng)...
    沈念sama閱讀 44,141評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡钉鸯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,483評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了邮辽。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片唠雕。...
    茶點故事閱讀 38,625評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖吨述,靈堂內的尸體忽然破棺而出岩睁,到底是詐尸還是另有隱情,我是刑警寧澤揣云,帶...
    沈念sama閱讀 34,291評論 4 329
  • 正文 年R本政府宣布捕儒,位于F島的核電站,受9級特大地震影響邓夕,放射性物質發(fā)生泄漏刘莹。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,892評論 3 312
  • 文/蒙蒙 一焚刚、第九天 我趴在偏房一處隱蔽的房頂上張望点弯。 院中可真熱鬧,春花似錦矿咕、人聲如沸抢肛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽捡絮。三九已至燃领,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間锦援,已是汗流浹背猛蔽。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留灵寺,地道東北人曼库。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像略板,于是被迫代替她去往敵國和親毁枯。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,492評論 2 348