Carson帶你學(xué)Android:我們該如何做一名合格的代碼開源者

前言

  • 在進(jìn)行 Android開發(fā)中,很多時(shí)候 我們都是充當(dāng) 代碼引用者的角色,即通過引用別人的代碼來實(shí)現(xiàn)功能需求
// 通過依賴來引用Okhttp開源代碼庫,從而實(shí)現(xiàn)發(fā)送網(wǎng)絡(luò)請求的功能
dependencies {
  compile 'com.squareup.okhttp:okhttp:2.4.0'
}
  • 今天,我將教大家如何做一名 合格的代碼開源者,所以本文概括如下:
示意圖

目錄

示意圖

1. (需求)代碼引用者需要什么?

將 整個(gè)開源項(xiàng)目 當(dāng)作一款產(chǎn)品,代碼引用者 = 用戶,用戶的需求是什么呢?

  1. 了解開源庫的相關(guān)信息(是什么、有什么用...)
  2. 具體如何將開源庫代碼應(yīng)用到項(xiàng)目中
  3. 希望獲取源碼,從而進(jìn)行二次開發(fā) 、作出代碼貢獻(xiàn) & 學(xué)習(xí)

若要成為一名 合格的代碼開源者,則需要滿足代碼引用者的上述基本需求。


2. (解決方案)代碼開源者需要做什么?

  • 為滿足上述需求,解決方案如下:
示意圖
  • 即,一名 合格的代碼開源者在開源項(xiàng)目時(shí),需要做到:
    1. 上傳源碼 到 遠(yuǎn)程版本控制倉庫Github
    2. 在遠(yuǎn)程版本控制倉庫Github上添加說明文檔 & 開源協(xié)議
    3. 上傳源碼 到 遠(yuǎn)程 Android Library文件服務(wù)器

3. (總體方案)開源流程步驟

  • 根據(jù)需求 & 解決方案,得出最終的開源流程步驟如下:


    示意圖
  • 接下來,我將按照通過 開源1個(gè)自定義View項(xiàng)目的例子,從而詳細(xì)講解上面的每一步解決方案 & 整個(gè)開源流程步驟。


4. (詳細(xì)方案)流程步驟詳解

下面,我將詳細(xì)講解每個(gè)步驟。

4.1 寫好開源庫代碼

前言提到,本文不是 以撰寫開源代碼為目的的技術(shù)教學(xué)文檔,而是 一份 開源項(xiàng)目規(guī)范性的流程文檔,所以


4.2 上傳源碼 至 遠(yuǎn)程版本控制倉庫Github


4.3 上傳源碼 至 遠(yuǎn)程Android library文件服務(wù)器

  • 作用:方便 其他Android開發(fā)者 通過Android Studiobuild.gradle文件中添加依賴,從而方便使用你的代碼Android Library
// 通過遠(yuǎn)程依賴來引用Okhttp開源代碼庫,從而實(shí)現(xiàn)發(fā)送網(wǎng)絡(luò)請求的功能
dependencies {
  compile 'com.squareup.okhttp:okhttp:2.4.0'
}
  • 由于在Android Studio采用 添加引用依賴的方式更加簡單,所以此處的遠(yuǎn)程 Android library文件服務(wù)器以 JCenter 為例

關(guān)于JCenter & 如何上傳 請看文章如何使得自己的代碼被別人優(yōu)雅引用:快速上傳Android Library到JCenter超詳細(xì)教程


4.4 在遠(yuǎn)程版本控制倉庫Github上 添加 說明文檔(README文檔)

  • 作用:介紹 開源項(xiàng)目 及其 使用方法

分為英文版本( README.md ) & 中文版本( README-CN.md

  • 具體操作:添加文檔方法主要有2種
    1. 本地撰寫 & 上傳:本地寫好README.md文檔 ->> 添加到Android Project項(xiàng)目的根目錄 ->> 通過命令行 PushGithub
示意圖
  1. Github上撰寫:直接在GitHub該項(xiàng)目倉庫中 Add a README
示意圖
  • 文檔模板
    具體該如何寫開源項(xiàng)目說明文檔,請以我其中一個(gè)開源項(xiàng)目作為參考:Kawaii_LoadingView。歡迎 Star

善解人意的我也添加上了英文文檔模板,請自??!


4.5 在遠(yuǎn)程版本控制倉庫Github上 添加開源協(xié)議

  • 作用:制定 開源代碼貢獻(xiàn)者對源碼修改 的規(guī)則

  • 開源協(xié)議類型

示意圖
  • 選擇開源協(xié)議的標(biāo)準(zhǔn)
示意圖
  • 添加開源協(xié)議操作
  1. 具體操作請看GitHub添加開源協(xié)議幫助文檔
  2. 若英文不好,請看隔壁隱藏的的說明圖。
示意圖
  • 添加成功示意圖
示意圖
  • 至此,一個(gè)合格的項(xiàng)目開源流程已經(jīng)講解完畢。
  • 今后,代碼引用者可以
  1. 通過Github上的文檔了解你的開源庫如何使用
  2. 通過 引用JCenter依賴遠(yuǎn)程使用你的項(xiàng)目
  3. 通過Github項(xiàng)目倉庫獲取你的源碼進(jìn)行二次開發(fā)

5. 總結(jié)

  • 本文全面介紹了一份開源項(xiàng)目規(guī)范性的文檔,相信閱讀完本文后,你也能做一個(gè)合格的代碼開源者
  • 下一篇文章我將對講解Android 的相關(guān)知識,感興趣的同學(xué)可以繼續(xù)關(guān)注本人的簡書哦。

相關(guān)系列文章閱讀
Carson帶你學(xué)Android:學(xué)習(xí)方法
Carson帶你學(xué)Android:四大組件
Carson帶你學(xué)Android:自定義View
Carson帶你學(xué)Android:異步-多線程
Carson帶你學(xué)Android:性能優(yōu)化
Carson帶你學(xué)Android:動畫


歡迎關(guān)注Carson_Ho的簡書

不定期分享關(guān)于安卓開發(fā)的干貨,追求短、平、快,但卻不缺深度


請點(diǎn)贊!因?yàn)槟愕墓膭?lì)是我寫作的最大動力!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 人傻地不熟的地界!才知道幸福不是說說而已,靠的不光身體上的努力??! 逍遙了一年!是該謀生了!但愿能過得步步高升!...
    冬發(fā)白閱讀 368評論 0 0
  • 20180502-20180515(14天) 本周八大關(guān)注: 健康:沒做到早睡 和運(yùn)動,基本上做的早起,體重:53...
    我是freeair閱讀 177評論 0 0
  • 言語謹(jǐn)慎,從來都不是一件壞事。即時(shí)你面對的是一位陌生人,也應(yīng)如此,因?yàn)槟悴恢滥愕脑捒赡軙o對方帶來傷害。這種傷害...
    巴巴啦小魔仙閱讀 73評論 0 0

友情鏈接更多精彩內(nèi)容