安卓開發中,什麼樣的功能適合抽取成 Library?

OneAPM官方技術部落格發表於2015-12-25

我們都知道如果將所有的功能都寫成 Library,那麼我們在編寫應用程式的時候就可以快速便捷的寫出想要的功能,因為這些已經事先都實現過了,這樣在寫程式碼的時候就可以迅速的將 Library 依賴到我們的專案裡。

然而在通常的情況下現實和期望的總是相差很大,在使用 Library 的過程中可能會出現各種各樣的問題,這時候我們第一個要問的問題就是,這樣的功能應該是一個Library 嗎?相信大家在團隊開發的時候都會遇到類似的問題。

下面有一些建議能夠幫助我們來決定什麼樣的功能能寫成一個 Library ,什麼樣的不能。

有沒有另一個地方使用相同的功能?

首先,相同的功能有沒有在另一個地方使用過,不管我們談論在UI介面,還是通過實用工具來幫助你完成某些任務時,在將這些功能從程式碼裡抽出 Library 的時候都要考慮一下相同的功能是否在其他的地方使用過,這個很重要。

如果其他地方沒有使用過相同的功能,也別擔心,為了解決問題可以針對該問題編寫出一個解決方案,因為很有可能在以後會有類似的功能需要實現,這樣就可以將這一個功能做成一個 Library 了,這樣做也可以提升我們對程式碼的熟練程度。

有沒有其他的 Library 已經實現了?

第二,我們要看看是否已經有開源的 Library 已經實現了我們需要的功能,是否確保我們不是在重塑別人已經造好的輪子,如果我們恰巧碰到了一個質量也不錯也能解決我們問題的 Library,這不是一個節約自己時間的很好的機會嗎?

如果你遇到了一個類似的開源 Library 但是並不能很好的解決問題,也可以和作者進行聯絡看看對方為什麼沒有實現,或者是其他的原因,這樣我們就可以 fork 這個專案,並把我們的需求功能增加上,這樣我們就對這個開源專案做了自己的貢獻了。

功能是否真正一致?

很多時候在開發新特性的時候,我們感覺上在很多的地方都使用到了這樣的工能,但其實仔細看的話,在不同的地方使用可能會有一些細節上的不同,這時候我們就要考慮這些細節問題,不能僅在大體功能上一樣就抽取出一個 Library ,這樣的問題不應該被忽視,不然就相當於起步的時候就走彎路了。

所以我們在將在使用庫檔案或者將要創造自己的庫檔案時,一定要問一問自己,是夠這樣的功能做成 Library 之後真正的幫我們節省了時間。

OneAPM Mobile Insight 以真實使用者體驗為度量標準進行 Crash 分析,監控網路請求及網路錯誤,提升使用者留存。訪問 OneAPM 官方網站感受更多應用效能優化體驗,想閱讀更多技術文章,請訪問 OneAPM 官方技術部落格 本文轉自 OneAPM 官方部落格

相關文章