背景 隨著事情越來越多,我們必須提高我們的工作效率,才能有更多的時間去深入學習更多的知識。下面我將會把我在Android項目中運用到的一些提高開發效率的經驗分享出來,如果你有更好的建議,懇請指導。
一、定義apk文件的輸出路徑 我使用的是Android Studio寫Android程序,以往我們編譯.apk文件后,系統會默認把該文件放在app/build/outputs/apk目錄下,我們需要層層打開目錄才能找到該.apk,顯然這是比較耗時的。其實我們可以在app下的build.gradle里定義我們apk的名稱與輸出路徑:
def fileName = “sample_${defaultConfig.versionName}_${defaultConfig.versionCode}.apk"def outputPathName = "/Users/yourname/Desktop/apk/${fileName}";路徑:在android/buildTypes/release下面的實現
applicationVariants.all { variant -> variant.outputs.each { output -> output.outputFile = new File(outputPathName) }}我把該路徑定義在桌面的apk文件夾里,這樣非常方便我們對其進行做一些操作或發布。
二、使用git的分支特性來開發新功能 對git比較熟悉的估計看到上面這標題已經懂我要說什么。但還是希望講給沒有使用過的朋友聽,打比方說,過去我們已經開發了ReleaseA版本,里面的列表顯示都是使用ListView實現,現在我們想要在上面嘗試使用RecycleView實現,我們可能會在原來代碼上面改,或者拷貝一份代碼出來改然后再merge回去,這樣的操作顯然效率很低,如果我們使用git branch來操作會變得非常簡單。
三、多造輪子,免去不必要的開發成本 比如分享功能、支付功能、一些常用的UI組件,甚至一些通用的strings.xml/colors.xml/drawable資源,我們都可以將其集成為lib供各個項目使用,有人說這影響了代碼的靈活性,但是java的繼承、抽象、接口等特性,足以應付這些靈活性。需要注意的是記得在必要的類里定義TAG,并輸出一些關鍵信息的log,以方便后期調試。
四、接口規范 之前接觸過一個項目,服務端返回的json串十分不規范,JsonObject與JsonArray傻傻沒有區分,導致客戶端這邊開發十分困難,參考《品訊返回的不規范數據總結》。所以如果你是項目負責人,請嚴格監管好這些規范,以提高開發的效率。 并且接口文檔也應該規范書寫,不太建議使用Word/Excel書寫,網上有許多做得很不錯的在線接口文檔管理系統,如果擔心泄密,可將開源的接口文檔管理系統部署在私服,公司使用的是“小幺雞”,極大地提高了我們的工作效率。
五、使用maven管理通用代碼 由于公司的特殊性,我們需要做大量的項目,而項目中很大一部分代碼都是可以通用的,比如util、view、manager,還有一些第三方組件,如果要在每個項目里都重復拷貝一份通用的代碼,那是很笨的方法。建議使用maven去管理這些通用代碼,并做好版本兼容管理。公司目前是公司的服務器上部署maven,管理起來非常方便,又不擔心泄密。
六、盡量減少重復的代碼 第三條經驗是針對項目與項目級別的,而這里想說的是代碼級別的。代碼中可多寫BaseActivity、BaseListActivity、BaseFragment這樣的父類,好處相信很多人都理解。另外layout資源可以通過include重復利用layout,style里面也可以通過parent實現繼承。
七、多寫注釋 隨著項目增加,很多時候回去看過去的代碼會忘記某個類或方法是實現什么功能的,或者要注意點什么,但這些在你實現它們的時候是清楚的,所以建議在實現的時候就把這些注釋寫好,一來方便以后查看,二來也方便后來的人查看。
八、使用別人的輪子 記得剛開發Android的時候,整個網絡框架都是自己寫的,然后緩存、多線程的問題愣是沒有解決好,直到遇到了Google官方的Volley才將所有問題解決。網上還有一些評價非常高的輪子,比如okHttp、LiteOrm、Gson等等,都能極大提高你的工作效率,但是還是建議多選擇官方的組件、多選擇代碼開源組件,免得掉坑。
新聞熱點
疑難解答