Android開(kāi)發(fā)入門(mén)與實(shí)戰(zhàn)之Library快速依賴(lài)到項(xiàng)目
2016-02-25 14:49:44
1342瀏覽
在Android開(kāi)發(fā)中我們都知道如果將所有的功能都寫(xiě)成 Library,那么我們?cè)诰帉?xiě)應(yīng)用程序的時(shí)候就可以快速便捷的寫(xiě)出想要的功能,因?yàn)檫@些已經(jīng)事先都實(shí)現(xiàn)過(guò)了,這樣在寫(xiě)代碼的時(shí)候就可以迅速的將 Library 依賴(lài)到我們的項(xiàng)目里。
然而在通常的情況下現(xiàn)實(shí)和期望的總是相差很大,在使用 Library 的過(guò)程中可能會(huì)出現(xiàn)各種各樣的問(wèn)題,這時(shí)候我們第一個(gè)要問(wèn)的問(wèn)題就是,這樣的功能應(yīng)該是一個(gè)Library 嗎?相信大家在
Android開(kāi)發(fā)入門(mén)與實(shí)戰(zhàn)中都遇到類(lèi)似的問(wèn)題。
下面有一些建議能夠幫助我們來(lái)決定什么樣的功能能寫(xiě)成一個(gè) Library ,什么樣的不能。
有沒(méi)有另一個(gè)地方使用相同的功能?
首先,相同的功能有沒(méi)有在另一個(gè)地方使用過(guò),不管我們談?wù)撛赨I界面,還是通過(guò)實(shí)用工具來(lái)幫助你完成某些任務(wù)時(shí),在將這些功能從代碼里抽出 Library 的時(shí)候都要考慮一下相同的功能是否在其他的地方使用過(guò),這個(gè)很重要。
如果其他地方?jīng)]有使用過(guò)相同的功能,也別擔(dān)心,為了解決問(wèn)題可以針對(duì)該問(wèn)題編寫(xiě)出一個(gè)解決方案,因?yàn)楹苡锌赡茉谝院髸?huì)有類(lèi)似的功能需要實(shí)現(xiàn),這樣就可以將這一個(gè)功能做成一個(gè) Library 了,這樣做也可以提升我們對(duì)代碼的熟練程度。
有沒(méi)有其他的 Library 已經(jīng)實(shí)現(xiàn)了?
第二,我們要看看是否已經(jīng)有開(kāi)源的 Library 已經(jīng)實(shí)現(xiàn)了我們需要的功能,是否確保我們不是在重塑別人已經(jīng)造好的輪子,如果我們恰巧碰到了一個(gè)質(zhì)量也不錯(cuò)也能解決我們問(wèn)題的 Library,這不是一個(gè)節(jié)約自己時(shí)間的很好的機(jī)會(huì)嗎?
如果你遇到了一個(gè)類(lèi)似的開(kāi)源 Library 但是并不能很好的解決問(wèn)題,也可以和作者進(jìn)行聯(lián)系看看對(duì)方為什么沒(méi)有實(shí)現(xiàn),或者是其他的原因,這樣我們就可以 fork 這個(gè)項(xiàng)目,并把我們的需求功能增加上,這樣我們就對(duì)這個(gè)開(kāi)源項(xiàng)目做了自己的貢獻(xiàn)了。
功能是否真正一致?
很多時(shí)候在開(kāi)發(fā)新特性的時(shí)候,我們感覺(jué)上在很多的地方都使用到了這樣的工能,但其實(shí)仔細(xì)看的話,在不同的地方使用可能會(huì)有一些細(xì)節(jié)上的不同,這時(shí)候我們就要考慮這些細(xì)節(jié)問(wèn)題,不能僅在大體功能上一樣就抽取出一個(gè) Library ,這樣的問(wèn)題不應(yīng)該被忽視,不然就相當(dāng)于起步的時(shí)候就走彎路了。
所以我們?cè)趯⒃谑褂脦?kù)文件或者將要?jiǎng)?chuàng)造自己的庫(kù)文件時(shí),一定要問(wèn)一問(wèn)自己,是夠這樣的功能做成 Library 之后真正的幫我們節(jié)省了時(shí)間。
查看更多關(guān)于“Android培訓(xùn)資訊”的相關(guān)文章>>
標(biāo)簽: