濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > 如何正確使用開源項(xiàng)目?

如何正確使用開源項(xiàng)目?

熱門標(biāo)簽:suitecrm 地圖標(biāo)注 揭陽電腦外呼系統(tǒng)公司 鶴壁外呼系統(tǒng)公司 銀川語音外呼系統(tǒng)中心 華創(chuàng)e路航彩票銷售點(diǎn)地圖標(biāo)注 高德地圖標(biāo)注常顯 承德地圖標(biāo)注公司收費(fèi) 臨沂ai電銷機(jī)器人招商 外呼系統(tǒng)號(hào)顯示星號(hào)怎么看

創(chuàng)建一些工具

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

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

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

2.理解原理

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

3.不要改源碼

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

4.使用Gradle遠(yuǎn)程依賴

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

5.請(qǐng)一定要封裝一層

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

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

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

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

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

7.積累自己的輪子

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

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

總結(jié)

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

您可能感興趣的文章:
  • Android開源項(xiàng)目PullToRefresh下拉刷新功能詳解
  • Android 開源項(xiàng)目側(cè)邊欄菜單(SlidingMenu)使用詳解
  • 學(xué)習(xí)php開源項(xiàng)目的源碼指南
  • 使用PHP把HTML生成PDF文件的幾個(gè)開源項(xiàng)目介紹
  • Ruby微信開發(fā)的幾個(gè)開源項(xiàng)目介紹
  • 發(fā)布一個(gè)基于TokyoTyrant的C#客戶端開源項(xiàng)目
  • 利用AJAX開源項(xiàng)目 在網(wǎng)頁(yè)里播放視頻實(shí)現(xiàn)方法
  • web2.0的幾個(gè)開源項(xiàng)目

標(biāo)簽:萊蕪 咸寧 汕尾 許昌 棗莊 七臺(tái)河 三沙 忻州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《如何正確使用開源項(xiàng)目?》,本文關(guān)鍵詞  如何,正確,使用,開源,項(xiàng)目,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《如何正確使用開源項(xiàng)目?》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于如何正確使用開源項(xiàng)目?的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    深泽县| 浪卡子县| 洛川县| 长沙县| 于都县| 保康县| 图们市| 乌拉特前旗| 鄂伦春自治旗| 嫩江县| 手机| 仙游县| 盐源县| 太仓市| 泸定县| 奉新县| 布拖县| 辽宁省| 南乐县| 三都| 阿克| 新疆| 北安市| 巫溪县| 白玉县| 贺州市| 汝州市| 平江县| 缙云县| 三河市| 灵山县| 会昌县| 满洲里市| 琼结县| 明溪县| 新宾| 新密市| 高陵县| 讷河市| 镇江市| 长武县|