編碼規(guī)范體現(xiàn)出一個(gè)開發(fā)者的基本素質(zhì),良好的編碼規(guī)范可以提高團(tuán)隊(duì)編碼的效率,避免很多不必要的問題。今天分享一個(gè)標(biāo)準(zhǔn)的Java編碼規(guī)范給大家,希望對于大家今后的開發(fā)工作帶來幫助。 編碼規(guī)范的意義 規(guī)范實(shí)施建議 格式規(guī)范a)縮進(jìn) b)行長度 c)聲明 d)聲明變量、常量 e)聲明類 f)語句 class Example { void bar() { do { } while (true); try { } catch (Exception e) { } finally { } } void foo2() { if (true) { return; } if (true) { return; } else if (false) { return; } else { return; } }}
g)空格的使用 等號左右必須各有一個(gè)空格: h)變量類型的使用 ListString> names = new ArrayListString>();
命名規(guī)范通用規(guī)則 包(Packages) 一個(gè)唯一包名的前綴總是全部小寫的ASCII字母并且是一個(gè)頂級域名,通常是com,edu,gov,mil,net,org,或1981年ISO 3166標(biāo)準(zhǔn)所指定的標(biāo)識國家的英文雙字符代碼。包名的后續(xù)部分根據(jù)不同機(jī)構(gòu)各自內(nèi)部的命名規(guī)范而不盡相同。這類命名規(guī)范可能以特定目錄名的組成來區(qū)分部門(department),項(xiàng)目(project),機(jī)器(machine),或注冊名(login names)。 package com.itotem.viewpackage com.itotem.utils.xxxx
類(Classes) 命名規(guī)則:類名是個(gè)一名詞,采用大小寫混合的方式,每個(gè)單詞的首字母大寫。盡量使類名簡潔而富于描述。使用完整單詞,避免縮寫詞(除非該縮寫詞被更廣泛使用,像URL,HTML) public class Buttonpublic class EditText
接口(Interfaces) 命名規(guī)則:接口類名以大寫“I”開頭,大小寫規(guī)則與類名相似, public interface IProjGroupService
方法(Methods) 方法名是一個(gè)動(dòng)詞,采用大小寫混合的方式,第一個(gè)單詞的首字母小寫,其后單詞的首字母大寫。 public void onCreate(Bundle savedInstanceState)public void run()
局部變量(Local Variables) 采用大小寫混合的方式,第一個(gè)單詞的首字母小寫,其后單詞的首字母大寫。變量名應(yīng)簡短且富于描述。變量名的選用應(yīng)該易于記憶,即,能夠指出其用途。盡量避免單個(gè)字符的變量名,除非是一次性的臨時(shí)變量。臨時(shí)變量通常被取名為i,j,k,m和n,它們一般用于整型。c,d,e,它們一般用于字符型,變量名不應(yīng)以下劃線或美元符號開頭。 int i = 0;float imageWidth = 0;
實(shí)例變量(Instance Variables) 大小寫規(guī)則和類名相似,除了前面需要一個(gè)m。 private int mEmployeeId = 0; private String mName = '';
若實(shí)例變量為public類型的則和局部變量采用相同的命名規(guī)則。 public int width = 0; public String contactName = '';
常量(Constants [采用stiatc final 修飾]) 類常量的聲明,應(yīng)該全部大寫,單詞間用下劃線隔開。(類似C語言的宏定義)。 private static final int MIN_WIDTH = 4; private static final int MAX_WIDTH = 999;
資源id 資源id全部采用小寫,單詞之間用下劃線隔開。 注意:這個(gè)小寫規(guī)范是Android強(qiáng)制執(zhí)行的,如果出現(xiàn)大寫或者特殊字符工程是不能編譯的。會(huì)報(bào)錯(cuò) download app_name call_log_type
備注(Remark) 附加說明 組織規(guī)范 引入包規(guī)范 注釋規(guī)范a)通用注釋規(guī)則 b)說明 c)javadoc注釋標(biāo)簽語法定義說明 d)類的注釋 范圍:所有java類,可以不包括javabean 書寫規(guī)范:類的注釋必須寫在該類的聲明語法之前。在注釋中要描述該類的描述,創(chuàng)建者,創(chuàng)建日期。 類注釋模板:可以通過eclipse配置(Code Templates 中的 Code 的New Java files) ${filecomment}${package_declaration}/** * Title: ${project_name}
類注釋示例: package cn.sh.sstic.projectmanagement.projectfeasibleschemaeval;
/** * Title: mwbas2008
e)方法的注釋 目的:簡要概述該方法的功能,包括其參數(shù)、返回值意義的注釋 范圍:java類中的各種方法 書寫規(guī)范:方法注釋必須寫在方法定義之前。該注釋包括:方法其功能的簡單 描述,方法的參數(shù)、返回值類型、返回值意義簡單的描述。 模板:對于已定義好的接口的方法,可以直接輸入 /**回車 eclipse可自動(dòng)生成注釋模板 示例: /** * 演示方法注釋 * @param args * @return * 返回 null 表示沒有找到 * @throws Exception */ private String[] demoFunction(String args) throws Exception{ return null; }
f)失效代碼塊的注釋 書寫規(guī)范:失效代碼塊采用塊注釋方法行注釋方法進(jìn)行標(biāo)注。 示例: // if (1==1) { // // } else { // // } 或者 /* if (1 == 1) { // 如果1與1相等的時(shí)候 String code1; } else { // 如果1與1不相等的時(shí)候 String code2; }*/ g)分支語句的注釋 書寫規(guī)范:在分支語句代碼的下一行進(jìn)行注釋 示例: if (1==1) { //如果1與1相等的時(shí)候 code } else { //如果1與1不相等的時(shí)候 code }
h)變量、常量的注釋 String commitFlag; //提交標(biāo)志i)@Override的使用所有的重寫方法,在方法開始加上 @Override 關(guān)鍵字。
如: @Overridepublic void onCreate(Bundle savedInstanceState) {}
異常處理規(guī)范 重新拋出的異常必須保留原來的異常,即throw new NewException(“message”, e); 而不能寫成throw new NewException(“message”),更不能不繼續(xù)往上層拋出異常。 補(bǔ)充規(guī)范 代碼在提交版本控制之前,請確保已清除不必要的log調(diào)試語句
|
|