Android 編碼規範及代碼風格

1、常見的命名規範java

    一、Pascal命法:android

        每一個單詞的首字母大寫。 如:PersonName、SchoolName   web

    二、Camel命名法: app

        第一個單詞的首字母小寫,其他單詞的首字母大寫。如:personName、schoolName   框架

    三、匈牙利命名法: ide

        變量名=屬性+類型+對象描述。 如:m_intMaxDate函數

            屬性:全局變量(g_)、常量(c_)、成員變量(m_)、靜態變量(s_)優化

            類型:函數(fn)、句柄(hand)、長整型(long)、布爾(bool)、浮點型(float)、雙字(dw)、字符串(str)、雙精度浮點(double)、計數(count)、字符(char)、整型(int)、字節(byte)this

            描述:最大(Max)、最小(Min)、初始化(Init)、臨時變量(T/Temp)、源對象(Src)、目的對象(Dest)   spa

    四、下劃線命名法:

        全部字母均小寫,每一個單詞間如下劃線分割。如:person_name


2、命名規範的運用

    一、包名所有小寫 package istg.tolo.common   

    二、文件命名(即類名) Pascal命名

    (1)普通類(Pascal命名法) 

        public class SomeClass{

            public SomeMethod(){}    //構造函數

        }

    (2)自定義屬性類(後綴使用Attribute)

        public class BussinessPlugAuthorAttribute extends Attribute{……}

    (3)自定義異常類(後綴使用Exception

        public class BussinessException extends Exception{……}

    (4)泛型中的類型傳遞

        public class LinkedList<K,T>{……}

    三、方法名(動賓短語,如:eatFood,而不是Food)        

        public class SomeClass{

            public SomeClass(){};    //Pascal命名用於構造函數

            public void someClassMethod(){……};    //Camel命名用於普通函數

        }

    四、接口命名(後綴命名法)

        接口文件及名稱定義:Review、ReviewListener

        事件接口定義:OnClickListener

    五、變量命名

        私有成員變量(類變量):前綴m+Pascal命名法,如:private String mMyName

        私有成員變量(類變量)(優化):Camel命名法,如:private String myName

        靜態成員變量:前綴s+Pascal命名法,如:static String sMyName

        局部變量:Camel命名法,如:String resolvedType = null;

        局部變量(優化):前綴_+Pascal命名法,如:String _ResovledType = null;

        方法內參數:Camel命名法,如:eatFood (IntentSender intent, int requestCode){……}

        方法內參數(優化)前綴p+Pascal命名法,如:eatFood (IntentSender pIntent, int pRequestCode){……}

        循環中的變量:可使用縮寫字母,無心義字母,如:for(i=0;i<Count;i++){……}


3、命名格式化

    一、嚴格換行

        一個;一換行

    二、嚴格縮進

        使用Tab縮進

        註釋縮進和代碼縮進對齊

    三、嚴格註釋

        文件,類,方法,方法函數,變量,屬性,都要註釋

        文件和類的註釋必定要包含以下元素:Name, Description, Version, Date, Author, Change, Copyright

        遵循JavaDoc標準,如:

            /**

            *

            */

            //這是個人名稱

            private String mName;

    四、聲明的位置

        (1)將全部的框架定義的命名空間爲一組,自定義的和第三方的命名空間放在另外一組

            

        (2)類成員變量聲明位置

            全部的成員變量都應該聲明在頂部,同時使用一個空行來將它們和屬性方法分開。如:

            public class myClass{

                int mNumber;

                String mName;

                public void someMethod(){……}

            }

        (3)局部變量聲明位置

            局部變量放到方法頂部

    五、使用Java預約義的類型而不使用類名來聲明變量

        使用預約義的類型(關鍵詞)而不使用類名來聲明變量,如:

        使用 object 而不是 Object

        使用 int 而不是 Int32

4、規範的代碼實例

 /**
 * 學生管理Activity類
 * @author jiatao
 * @date 2015-4-25
 * @company zkr
 * <h1>version : 1.0 </h1>
 */
package mobidever.demo.students;
import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;
/**   
 * 學生管理類
 * @author jiatao  
 * @date 2015-4-25 
 * @since level 8 (android 2.0)
 * @version 1.0 
 */
public class StudentManageActivity extends Activity {
 
 //定義的學生私有對象
 private Object mStudent;
 //靜態的學生變量定義
 private static Object sStudent;
 /**
  * CLASS_ONE 一班的常量定義
  */
 private final String CLASS_ONE = "class1";
 
 private final String MESSAGE_WARN = "你輸入的內容不正確,請從新輸入";
 
 
 /**
  * 獲得學生信息
  * @return 獲得學生信息
  */
 public Object getmStudent() {
  return mStudent;
 }
 /**
  * 設置學生信息
  * @param mStudent 具體的學生信息值
  */
 public void setmStudent(Object mStudent) {
  this.mStudent = mStudent;
 }
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  // TODO Auto-generated method stub
  super.onCreate(savedInstanceState);
  
  //調用初始化界面的函數
  initDisplay();
  
  //調用班級學生計算函數,獲得class1班的學生數量
  this.calculateStudentsCount(CLASS_ONE);
  Toast.makeText(this, MESSAGE_WARN, 3000).show();
 }
 
 /**
  * 根據班級計算學生數量
  * @param pClassName 班級名稱
  * @return 返回班級所屬學生數量
  * @author jiatao
  * @date 2015-4-25
  * @version 1.0
  * 
  * 加入了對男女生的判斷
  * @author xuexing
  * @date 2015-4-26
  * @version 1.1
  */
 public int calculateStudentsCount(String pClassName){
  
  int _StudentCount = 5; //方法內局部變量
//  pStudentCount = 12;  //方法內的參數變量
//  mStudentCount = 13;  //類成員變量
  return _StudentCount;  
 }
 
 /**
  * 初始化界面
  */
 public void initDisplay(){
  
 }
 
}
相關文章
相關標籤/搜索