代碼規範總結

代碼規範


引言

沒有規矩,不成方圓。
好的代碼規範讓代碼更具可讀性和維護性,今天就代碼的規範性做如一些總結。


變量的命名

前綴(小寫字母+下劃線)表明變量的作用域,無前綴表明是局部變量或者函數參數,如:
1.m_xx 表示是類的成員變量
2.g_xx 表示是全局變量
3.c_xx 表示是一個常量


函數命名

  1. 常見方法有匈牙利命名法、駝峯命名法和下劃線命名法。
  2. 由於下劃線在鍵盤位置特殊,匈牙利命名法也有一定的侷限性,駝峯命名法更受歡迎。
  3. 函數命名採用英文單詞組合表示(動詞+名詞),至少一個動詞
  4. 函數命名應該可以讓人“望文生義”,避免一個動詞的使用,如Save應改成SaveVal

類命名

  1. 通常以父類的簡寫開頭,如:FrmXXX 可看出該類是從 Form 中繼承過來的。
  2. 類名以大寫字母開頭,命名避免下劃線。
  3. 類實例命名可以參照類名,如: FrmXXXX frmXXX=new FrmXXX();

模塊之間應該要用空格隔開,同一代碼塊中不同邏輯塊之間空一行,函數之間至少空一行,不超過三行。


註釋原則:

  1. 註釋講究簡潔,有重點,正確;
  2. 應該是寫優雅的、可讀性高的代碼,而不是爲晦澀的代碼註釋。
  3. 儘量減少程序體內代碼的註釋,保持代碼的直接可閱讀性。

優化

函數代碼優化:

  1. 去掉從沒用過的參數
  2. 始終對參數合法性進行檢驗,對不合法的參數輸入要進行處理。
  3. 參數不宜過多,過多應採用類封裝後以實例傳入。
  4. 如果一個參數不能被修改,將該類聲明爲const。
  5. 對於函數要用到的全局變量儘量應該採用傳參的方法,實現參數代替,減少函數和外界 的聯繫,提高內聚
  6. 一個單一的函數代碼量不宜過多,過多應該切分成小函數。
  7. 對於冗餘的變量應該應該抽取出來作爲函數的方法消除冗餘。
  8. 儘量減少函數出口,即return,如:
    優化前:
      string getControlText(int index){
                if(parameterValid()==false)
                    return null;
                switch(nindex){
                    case 0:
                        return txtValue1.text;
                    case 1:
                        return txtValue2.text;
                ......
                }
             }
    優化後:
    string getControlText(int index){
                string  strReturnValue=null;
                if(parameterValid()==true){
                    switch(nindex){
                        case 0:
                        strReturnValue=txtValue1.text;
                        break;
                    case 1:
                        strReturnValue=txtValue2.text;
                        break;
                ......
	                }
                }
                return strReturnValue;
             }

類內的優化:

  1. 只對對外的接口才聲明爲public;
  2. 儘量減少成員函數、變量的依賴性

類之間的優化:

  1. 界面處理和數據處理應該分離在兩個類中
  2. 當不同類有相同代碼時,有以下幾個方法可以考慮:
    1. 相同方法抽象成父類
    2. 抽象到一個新類中。
    3. 接口實現
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章