Android編碼規範指南
title: Android編碼規範指南
tags: Android,基礎
本文參考最全面的 Android 編碼規範指南和標準的Java編碼規範手冊。該文件僅供參考,只要形成一個統一的風格即可。
原始檔基礎
-
檔名
原始檔以其最頂層的類名來命名,大小寫敏感,副檔名為.java。 -
檔案編碼
原始檔編碼格式為 UTF-8。
原始檔結構
一個原始檔包含(按順序地):
- 許可證或版權資訊(如有需要)
- package語句
- import語句
- 一個頂級類(只有一個)以上每個部分之間用一個空行隔開。
-
許可證或版權資訊
如果一個檔案包含許可證或版權資訊,那麼它應當被放在檔案最前面。 -
package語句
package 語句不換行。 -
import語句
3.1 import不要使用萬用字元
即,不要出現類似這樣的import語句:import java.util.*;
3.2 不要換行
圖例:
格式規範
縮排
每當開始一個新的塊,縮排增加4個空格,當塊結束時,縮排返回先前的縮排級別。縮排級別適用於程式碼和註釋一行一個語句
每個語句後要換行。行長度
每行80或100字元,package和import語句除外-
換行
- 從哪裡換行
基本準則是:更傾向於在更高的語法級別處斷開。
如果在非賦值運算子處斷開,那麼在該符號前斷開(比如+,它將位於下一行)。
這條規則也適用於以下”類運算子”符號:點分隔符(.),型別界限中的 &()
如果在賦值運算子處斷開,通常的做法是在該符號後斷開(比如=,它與前面的內容留在同一行)。這條規則也適用於foreach語句中的分號。
方法名或建構函式名與左括號留在同一行。
逗號(,)與其前面的內容留在同一行- 換行時縮排至少+8個空格
- 從哪裡換行
-
使用空行
以下情況使用一個空行:
1.類內連續的成員之間:欄位,建構函式,方法,巢狀類,靜態初始化塊,例項初始化塊。
2.在函式體內,語句的邏輯分組間使用空行。
- 使用空格
1.分隔任何保留字與緊隨其後的左括號(()(如if, for catch等)。
2.分隔任何保留字與其前面的右大括號(})(如else, catch)。
3.在任何左大括號前({)
4.在任何二元或三元運算子的兩側。
5.在, : ;及右括號())後
6.如果在一條語句後做註釋,則雙斜槓(//)兩邊都要空格。
7.型別和變數之間:List list。
8.陣列初始化中,大括號內的空格是可選的,即new int[] {5, 6}和new int[] { 5, 6 }都是可以的。
命名規則
對所有識別符號都通用的規則
識別符號只能使用ASCII字母和數字,因此每個有效的識別符號名稱都能匹配正規表示式\w+。識別符號型別的規則
2.1 包名全部小寫,連續的單詞只是簡單地連線起來,不使用下劃線。採用反域名命名規則,全部使用小寫字母。一級包名為com,二級包名為xx(可以是公司或則個人的隨便),三級包名根據應用進行命名,四級包名為模組名或層級名。
package com.anxin.changbaishan.view;
package com.anxin.changbaishan.utils;
2.2 類命名
類名是個一名詞,採用大小寫混合的方式,每個單詞的首字母大寫。儘量使類名簡潔而富於描述。使用完整單詞,避免縮寫詞(除非該縮寫詞被更廣泛使用,像URL,HTML) 。
public class Base64Util
public class AccountFragment
2.3 介面命名
介面類名以大寫“I”開頭,大小寫規則與類名相似。
public interface IProjGroupService
2.4 方法命名
方法名是一個動詞,採用大小寫混合的方式,第一個單詞的首字母小寫,其後單詞的首字母大寫。
public void onCreate(Bundle savedInstanceState)
public void run()
2.5 常量命名
(Constants [採用stiatc final 修飾]) 類常量的宣告,應該全部大寫,單詞間用下劃線隔開。
private static final int MIN_WIDTH = 4;
private static final int MAX_WIDTH = 999;
2.6 區域性變數
採用大小寫混合的方式,第一個單詞的首字母小寫,其後單詞的首字母大寫。變數名應簡短且富於描述。變數名的選用應該易於記憶,即,能夠指出其用途。儘量避免單個字元的變數名,除非是一次性的臨時變數。臨時變數通常被取名為i,j,k,m和n,它們一般用於整型。c,d,e,它們一般用於字元型,變數名不應以下劃線或美元符號開頭。
int i = 0;
float imageWidth = 0;
2.7 例項變數
大小寫規則和類名相似,除了前面需要一個m。
private int mEmployeeId = 0;
private String mName = "";
-
資原始檔命名規範
3.1 資源佈局檔案(XML檔案(layout佈局檔案)):
全部小寫,採用下劃線命名法
- 必須以全部單詞小寫,單詞間以下劃線分割,使用名詞或名詞片語。所有Activity或Fragment的contentView必須與其類名對應,對應規則為:將所有字母都轉為小寫,將型別和功能調換(也就是字尾變字首)。
- Dialog命名:dialog_描述.xml
dialog_hint.xml
3.2 資原始檔(圖片drawable資料夾下)
全部小寫,採用下劃線命名法,加字首區分
命名模式:可加字尾 small 表示小圖, big 表示大圖,邏輯名稱可由多個單詞加下劃線組成,採用以下規則:
控制元件型別模組名邏輯名稱
控制元件型別模組名顏色
控制元件型別邏輯名稱
控制元件型別顏色
btn_main_home.png 按鍵
divider_maket_white.png 分割線
ic_edit.png 圖示
bg_main.png 背景
btn_red.png 紅色按鍵
btn_red_big.png 紅色大按鍵
ic_head_small.png 小頭像
bg_input.png 輸入框背景
divider_white.png 白色分割線
3.3 layout中的id命名
命名模式為:view縮寫_view的邏輯名稱
<EditText
android:id="@+id/et_username"/>
<Button
android:id="@+id/btn_login"/>
UI控制元件縮寫表
相關文章
- 最全面的 Android 編碼規範指南Android
- Go 編碼規範指南Go
- Go編碼規範指南Go
- android 編碼規範Android
- PHP 編碼風格規範指南PHP
- Android程式碼規範參考指南Android
- 編碼規範系列:css規範CSS
- JavaScript 風格指南/編碼規範(Airbnb公司版)JavaScriptAI
- 程式碼規範之前端編寫碼規範前端
- Android 程式碼規範 - 命名規範Android
- Android程式碼規範:命名規範Android
- CSS編碼規範CSS
- Javascript編碼規範JavaScript
- html編碼規範HTML
- Swift 編碼規範Swift
- PHP編碼規範PHP
- SQL 編碼規範SQL
- WEB前端編碼規範Web前端
- python編碼規範Python
- 前端安全編碼規範前端
- 前端html編碼規範前端HTML
- HTML,CSS編碼規範HTMLCSS
- 阿里Java編碼規範阿里Java
- [轉]PHP編碼規範PHP
- C# 編碼規範C#
- Java 編碼規範 (轉)Java
- java編碼規範 (轉)Java
- 網易郵箱前端Javascript編碼規範:類規範前端JavaScript
- Android的一些編碼規範和優化Android優化
- Java語言編碼規範Java
- PHP編碼風格規範PHP
- HTML編碼規範建議HTML
- 前端開發編碼規範前端
- iOS的編碼規範(1.1)iOS
- HTML/CSS/JS編碼規範HTMLCSSJS
- React/JSX 編碼規範ReactJS
- Google的Java編碼規範GoJava
- iOS團隊編碼規範iOS