大項目代碼風格

一切的一切,起源於同濟軟件工程期末的大項目----拿cocos2d作一個遊戲~~~數組

大項目是組隊制的,因此有了下面這篇  「大項目代碼風格」,函數

/*學習

如下爲本次大項目代碼風格規定

1. 類的命名用 大駝峯命名(每一個單詞首字母大寫)

   普通變量小駝峯命名(第一個單詞首字母小寫,其他首字母均大寫)
   類成員變量須要在名稱前加 m_
   如 class SomeClass
      {
         private:
            m_tableName; 類中變量命名
      }
     
      int tableName;   普通變量命名

   函數的命名用 小駝峯 如 void someThing(){}

   而且特定類型加特定前綴
          布爾變量命名前加  b
          指針命名前加   p

  上面一概使用英文單詞(拒絕拼音),不縮寫,不省略單詞


2  不使用tab,只使用空格,空格2下縮進


3  花括號換行,同時花括號執行的代碼不管多簡單,都要加花括號
   如if(some condition)
      {  
          //your code
       }
   固然特別簡單語句能夠不換行
   例如 if(i>1) { ++count; }
  (其他狀況不換行均視爲邪教)
 

4  類定義必需要有構造函數,全部成員數據在此初始化


5  儘可能使用++i,而不使用i++(先弄清區別)


6  頭文件和源文件區別以及做用(這個很重要,不要全部東西都寫在一個文件中)
   給個網址 http://blog.csdn.net/yue34257667/article/details/45500811


7  記得加頭文件保護符(固然vs在建立頭文件時已經自動加了)


8  容器選擇多使用 vector,string,少使用數組,要用數組也請用array


9  儘可能使用迭代器而不是下標運算符[],迭代器的判斷用!= 而不是 <=
   例如
      for(auto i=v.begin(); i!=v.end(); ++i)
        {
             //your code
        }
   也可使用範圍for語句遍歷容器
   遍歷容器時不可修改容器數量


10  多使用const(這個要求比較高)
     三種狀況
      (1)常量的定義
      (2)強制保護函數參數值不發生改變
             如下程序中,函數f 不會改變輸入參數name 的值,可是函數g 和h 都有可能改變name的值。
             void f(String s); //  值傳遞   
             void g(String &s); // 引用
             void h(String *s); // 指針
             int main()   
             {   
                String name=「Dog」;   
                f(name); // name 的值不會改變   
                g(name); // name 的值可能改變   
                h(name); // name 的值可能改變   
                return 0;   
             }   

          對於一個函數而言,若是其‘&’或‘*’類型的參數只做輸入用,不做輸出用,
            那麼應當在該參數前加上const,以確保函數的代碼不會改變該參數的值(若是改變了該參數的值,編譯器會出現錯誤警告)。
            所以上述程序中的函數g 和h 應該定義成:
                void g(const String &s);   
                void h(const String *s);   

     (3)修飾類中的成員函數:void fun4()const; 其意義上是不能修改所在類的的任何變量。  
           

11  數據類型不要混用(可能產生意想不到的後果)
    如 int 和 unsigned
 
       int n=-1;
       if(string.size < n) { cout>>"you are wrong";}
                //string.size()的返回類型是 unsigned
    必然會輸出 you are wrong
    由於int 和 unsigned 一塊兒使用會發生隱式轉換,int轉爲unsigned,-1 便轉爲 2^32-1


12  多瞭解面向對象思想(網上有許多blog,都說的很好)
    給幾個推薦  http://blog.csdn.net/baggiowangyu/article/details/2724334
                http://blog.csdn.net/wsyhok/article/details/54600637
    來個知乎的  https://www.zhihu.com/question/19854505


ps:你們一塊兒學習,一塊兒加油!!!*/



.net

第一篇博客(不知道算不算博客)~~~指針

相關文章
相關標籤/搜索