前言
通過建立代碼編寫規范,形成Android編碼約定,提高程序的可靠性、可讀性、可修改性、可維護性、一致性,保證程序代碼的質量,繼承軟件開發成果,充分利用資源。提高程序的可繼承性,使開發人員之間的工作成果可以共享。
軟件編碼要遵循以下原則:
- 遵循開發流程,在產品和設計的指導下進行代碼編寫。
- 代碼的編寫以實現設計的功能和性能為目標,要求正確完成設計要求的功能,達到設計的性能。
- 程序具有良好的程序結構,提高程序的封裝性好,減低程序的耦合程度。
- 程序可讀性強,易于理解;方便調試和測試,可測試性好。
- 易于使用和維護;良好的修改性、擴充性;可重用性強/移植性好。
- 占用資源少,以低代價完成任務。
- 在不降低程序的可讀性的情況下,盡量提高代碼的執行效率。
一. 命名規范
不要使用漢語拼音簡寫。用準確的英文
- 包名
采用反域名命名規則,
<font color = "#ff0000">全部使用小寫字母。</font>一級包名為com,二級包名為xxx(可以是公司域名或者個人命名),三級包名根據應用進行命名,四級包名為模塊名或層級名。
- 類名&接口名
采用
<font color = "#ff0000">大駝峰</font>命名法,盡量避免縮寫,除非該縮寫是眾所周知的,比如HTML,URL,如果類名稱包含單詞縮寫,則單詞縮寫的每個字母均應大寫。
- 方法名
動詞或動名詞,采用
<font color = "#ff0000">小駝峰</font>命名法,eg:onCreate(),run();
- (常量) static final字段
字母全部大寫,單詞間以下劃線分割
- 全局/全局變量名
有兩套標準 java(xXXXX) google(mXXXX).我們采用java的標準,
<font color = "#ff0000">小駝峰</font>命名法
- 布局文件名
contentview命名 功能模塊.xml.
adapter的子布局:功能模塊_item.xml
...
- 資源文件名
除通用的資源外,保持和功能模塊一致,自定義的shape等以*.shape.xml
- 布局文件中view的id名。控件簡寫變量名,textview tv button bt_(或者btn_) LinearLayout ll_ 等。舉例如下:
<TextView
android:id="@+id/tv_handed"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
二. 代碼規范
- 統一 code style
采用androidstudio默認即可,檢查下不同系統下是否一致
- 編碼方式 "UTF-8"
- 使用TODO注釋
對那些臨時性的、短期的、夠棒但不完美的代碼,請使用TODO注釋。
TODO注釋應該包含全部大寫的TODO,后跟一個冒號:
// TODO: Remove this code after the UrlTable2 has been checked in.
和
// TODO: Change this to use a flag instead of a constant.
如果TODO注釋是“將來要做某事”的格式,則請確保包含一個很明確的日期(“在2005年11月會修正”),或是一個很明確的事件(“在所有代碼整合人員理解了V7協議之后刪除本段代碼”)。
- 先寫注釋再寫代碼
三. 布局規范
- 單位使用規范
控件長寬采用dp作為統一的衡量單位,字體使用sp作為統一衡量單位。 - 切圖命名規范
具體命名規范,請看《Android切圖規范及命名規則》文檔。 - 資源文件夾res下的規范
在res資源目錄下,應該至少包含下面的目錄結構
其中,各個版本的drawable中存放的內容如下
? drawable 存放使用xml文件實現的各種selector按下效果
? drawable-hdpi 存放480800,480854像素的圖片
? drawable-ldpi 存放240320像素的圖片,現在基本廢棄
? drawable-mdpi 存放320480像素的圖片,現在基本廢棄
? drawable-xhdpi 存放720*1280像素及以上的圖片
? drawable-xxhdpi 暫時只放144px的圖標