一、包命名
1、包名全部采用小寫,不用下劃線區分單詞,多個單詞用駝峰命名法。例:com.packer.tablet、com.packer.tablet.otherView
2、包名按功能模塊劃分,該模塊相關類都放置同一個包下面。例:網絡請求相關類放在net或http包下面,數據庫相關類放在db包下面,數據pojo類放在bean包下面,activity和相關的adapter都放在同一個包下面等。
二、代碼
1、變量、方法命名主要采用大/小駝峰命名法,首字母小寫,后面的每個單詞首字母大寫。例:getPackerInfo()
2、靜態常量使用public final static修飾(Java)、const val(Kotlin),并且命名為大寫,例:INTENT_RESULT_DATA = "data"
3、類名、接口名、枚舉名等首字母大寫,若由多個單詞組成,則其后每個單詞首字母大寫,例:class ConfigManager{}
4、繼承自安卓組件的類,采用父類名作為后綴,例:class LoginActivity extends Activity{}
5、變量、方法的命名以有意義的英文單詞命名,例:getLoginInfo()、loginUrl
6、成員變量盡量以m開頭命名,推薦,例:mContext
7、控件命名盡量以控件名簡寫作為開頭或結尾,駝峰式命名法。例:TextView控件:tvAdd、addTv Button控件:btnLogin、loginBtn
8、id命名盡量以控件名簡寫作為開頭或結尾,全部小寫,單詞之間用下劃線隔開。例:TextView控件:tv_add、add_tv Button控件:btn_login、login_btn
9、編碼格式統一為 UTF-8
三、資源
1、資源命名全部采用小寫,各單詞間以下劃線區分。例:icon_booking_order.png
2、selector文件以selector_開頭、shape文件以shape開頭。例:selector_clear_btn_bg.xml、shape_et_gray_bg.xml
3、布局文件命名以類型+模塊名命名。例:activity_login.xml、dialog_change_price.xml、fragment_order_layout.xml、list_order_item.xml、recycle_food_item.xml、include_login_title_bar_layout.xml
四、常用開發庫
1、網絡請求庫:Retrofit、OKHttp
2、數據解析庫:Gson、fastjson
3、軟件更新、異常上報:bugly
4、圖片加載庫:Glide
5、數據庫存儲:Room
6、數據通訊:EventBus
7、掃碼功能:zxing相關庫
8、日志打印:LogCook、LogToFile
9、內存泄漏檢測工具:LeakCanary
10、輕量級數據存儲:DataStore、MMKV
五、開發
1、新項目優先使用Kotlin語言與Java混合開發、原有Java舊項目仍用Java開發。
2、大型復雜優先使用MVVM架構開發,簡單的小項目可不用。
3、使用Log打印日志而不是System.out.println()。
4、定義基本數據類型變量非必要情況不用裝箱類。
5、一個方法不能超過80行,多了就分開。
6、版本號為3位數,例:versionName "1.0.0",小修小改bug修復最后一位加1,小新功能添加修改中間位加1,大功能添加修改第一位加1,每更新一次版本,versionCode加1
7、使用視圖綁定viewBinding或者DataBinding替代findViewById