欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何正確使用開源項目?

 更新時間:2018年09月18日 09:36:58   作者:stormzhangV  
開源項目廣受大家喜愛,其實我們在使用開源項目的過程中有不少注意的事項,今天就來給大家介紹下如何正確的使用開源項目。需要的朋友可以參考一下

創(chuàng)建一些工具

創(chuàng)建工具是幫助他人的一種很好的方式,而且不用考慮太多復(fù)雜的問題或 API 設(shè)計。你可以開發(fā)一個你最喜歡的框架或平臺的模板。你可以將到的知識和工具集中到一個項目中進行很好的詮釋,并做好隨時更新和發(fā)布新特性的準(zhǔn)備

1.使用成熟穩(wěn)定的開源項目

現(xiàn)在技術(shù)日新月異,可能隔幾天就會出來一個新的開源框架,但是公司的商業(yè)項目永遠以穩(wěn)為主,也許你迫不及待的想嘗鮮體驗新技術(shù),可以在你個人業(yè)余項目進行體驗學(xué)習(xí),覺得各方面都使用掌握了,并且該框架已經(jīng)有不少商業(yè)項目采用了,再考慮在公司的商業(yè)項目中使用。所以,給大家的建議是:公司的商業(yè)項目永遠不要以嘗鮮為主,一定要保證穩(wěn)定。

2.理解原理

如果我們在商業(yè)項目中采用了一些開源項目,前提是自己一定是理解其原理,完全掌握了才建議在商業(yè)項目使用,一些UI類的開源控件還好,尤其是對于一些框架類的開源項目,如網(wǎng)絡(luò)請求庫、ORM框架、各種圖片加載庫、依賴注入框架等等,不求你掌握他具體實現(xiàn)的每個細節(jié),但是一定要理解其原理,并且熟練掌握他的各種API,再考慮運用到公司的項目中。

3.不要改源碼

我們知道我們在使用一些開源項目的時候,不可能永遠滿足我們自己的需求,我們一般都會在其基礎(chǔ)上定制些我們自己的業(yè)務(wù)需求,這個時候建議大家不要改源碼,而是在自己的項目里對引用的開源框架進行擴展,如果他不可擴展或者說擴展起來很麻煩,只能說他的設(shè)計還不夠好。
為什么不建議大家改源碼?因為好的開源項目一般會持續(xù)維護與更新,而一旦我們更改源碼,這意味著以后我們想要更新版本變得很麻煩。所以,不是特別必要,都強烈建議大家不要改源碼。

4.使用Gradle遠程依賴

對于 Android 開發(fā)來說,使用 Gradle 遠程依賴是最方便,最流行的一種方式了,一行代碼直接搞定,如果一個開源項目不提供 Gradle 依賴的方式,只能說有點 low 了。盡量不要使用本地 jar 或者本地 aar 的方式引用,不是不可以,更新起來稍微有點麻煩,如果我們使用 Gradle 只需更改一個版本號就直接升級了,而且使用 Gradle 還可以方便的統(tǒng)一管理

5.請一定要封裝一層

計算機史上有個萬能的解決方案就是,如果原有層面解決不了問題,那么就請再加一層!
對于開源項目,我們知道有些庫設(shè)計的確實很棒,使用者調(diào)用起來非常方便,一行代碼直接搞定,拿圖片加載庫 Picasso 舉個例子:
Picasso.with(context).load(imageUrl).into(imageView);
使用起來是不是特簡單?你也許問我,都封裝的這么好了還用得著再封裝一層么?那你錯了,哪怕他已經(jīng)很完美了,我都會這么做:

public class ImageLoader {
 public static void with(Context context, String imageUrl, ImageView imageView) {
 Picasso.with(context).load(imageUrl).into(imageView); 
 }
}

這樣我所有項目調(diào)用的方式直接就是 ImageLoader.with() ,這樣做的好處是:
入口統(tǒng)一,所有圖片加載都在這一個地方管理,一目了然,即使有什么改動我也只需要改這一個類就可以了。
隨著你們業(yè)務(wù)的需求,發(fā)現(xiàn) Picasso 這個圖片加載庫已經(jīng)滿足不了你們了,你們需要換成 Fresco ,如果你沒有封裝一層的話,想要替換這個庫那你要崩潰了,要把所有調(diào)用 Picasso 的地方都改一遍,而如果你中間封裝了一層,那真的非常輕松,三天兩頭的換一次也沒問題。
這就是所謂的外部表現(xiàn)一致,內(nèi)部靈活處理原則。

6.做好應(yīng)急,以防萬一

開源項目說白了是公開的,大家都可以采用,但是永遠不要完全依賴,并不是非他不可,選擇的時候最好有可替代品,這也是我為什么不建議大家使用哪種大而全的框架級開源庫,除非他真的特別優(yōu)秀,否則不要輕易使用,因為一旦他出問題了,或者說他突然宣布某一天不開源了,那你要崩潰了,替換的代價幾乎可以重寫了。所以建議大家使用那種專注的開源框架,如只做網(wǎng)絡(luò)庫的,只做圖片處理的,而這種大多都有替代品,一旦他出事,你還有其他別的選擇。

7.積累自己的輪子

開源項目用的多了,你會逐漸的意識到很多開源庫基本是項目搭框架必須的,按照你自己或者你們公司的使用習(xí)慣,你應(yīng)該積累出一套你們自己的專屬「輪子」,你們項目組成員熟悉的「輪子」,一旦有新的項目開始,搭一個屬于你們自己的框架分分鐘的事,會大大的提升你們的開發(fā)效率!都是我這么多年采坑積累的寶貴經(jīng)驗,分享給你們,希望對你們真的有幫助!

在使用開源項目的時候,你是否遇到了 bug?嘗試查閱源碼,不要停留在本地的代碼上。你的答案會使其他人收益,引導(dǎo)著你去給更多的開源項目做貢獻。閱讀其他人的代碼,也許不能馬上解決你的問題,而且需要花費很長時間才能理解源碼,但是你會學(xué)到新的模塊,新的語法以及編碼的不同技巧,這些都會促使你成為一名出色的開發(fā)者。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

相關(guān)文章

  • http協(xié)議詳解(超詳細)

    http協(xié)議詳解(超詳細)

    HTTP協(xié)議(HyperText Transfer Protocol,超文本傳輸協(xié)議)是用于從WWW服務(wù)器傳輸超文本到本地瀏覽器的傳送協(xié)議。
    2011-08-08
  • Git rebase命令使用實戰(zhàn)

    Git rebase命令使用實戰(zhàn)

    這篇文章主要介紹了Git rebase命令使用實戰(zhàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Azkaban3.81.x部署過程及遇到的坑

    Azkaban3.81.x部署過程及遇到的坑

    這篇文章主要介紹了Azkaban3.81.x部署過程詳細介紹及遇到的坑,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • 一文詳解VSCode安裝配置使用(最新版超詳細保姆級含插件)

    一文詳解VSCode安裝配置使用(最新版超詳細保姆級含插件)

    安裝VScode就很簡單了,一路NEXT就可以了,重點是配置使用以及插件推薦,這篇文章主要給大家介紹了關(guān)于VSCode安裝配置使用的相關(guān)資料,本文是最新版超詳細保姆級含插件,需要的朋友可以參考下
    2023-05-05
  • vscode遠端配置及一些問題解決方案

    vscode遠端配置及一些問題解決方案

    我們之前大概了解了vscode的本地設(shè)置,我們之前提過,vscode是一款編輯器,在文本編輯方面有著強大的功能,vscode強大的功能還在于可以連接遠端機器,為我們的遠端機器服務(wù),今天我們主要來進行遠端配置,感興趣的朋友跟隨小編一起看看吧
    2024-03-03
  • git?push指令常見選項和用法詳解

    git?push指令常見選項和用法詳解

    Git中的git?push命令用于將本地倉庫的改動推送到遠程倉庫,是協(xié)同開發(fā)中的重要工具,在團隊合作中,使用git?push和git?pull可以有效維護項目同步,避免沖突,推送時若遇到?jīng)_突需先解決后再進行推送,需要的朋友可以參考下
    2024-09-09
  • Postman配置多環(huán)境請求地址的實現(xiàn)

    Postman配置多環(huán)境請求地址的實現(xiàn)

    本文主要介紹了Postman配置多環(huán)境請求地址的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • HTTP協(xié)議簡介_動力節(jié)點Java學(xué)院整理

    HTTP協(xié)議簡介_動力節(jié)點Java學(xué)院整理

    這篇文章主要介紹了HTTP協(xié)議簡介,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • vscode代碼格式化和eslint的使用

    vscode代碼格式化和eslint的使用

    這篇文章主要介紹了vscode代碼格式化和eslint的使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • scratch-www 在Win10下的環(huán)境搭建詳細教程

    scratch-www 在Win10下的環(huán)境搭建詳細教程

    scratch-www是scratch-gui的網(wǎng)頁版,功能包括gui的編輯,保存,播放,和gui的作品展示,這里主要介紹scratch-www在window系統(tǒng)下的安裝和運行,感興趣的朋友跟隨小編一起看看吧
    2021-08-08

最新評論