C++編碼規範

來源:互聯網
上載者:User

標籤:c++   編碼規範   

                    C++編碼規範

    編碼規範,說代碼品質重要組成部分,如何防止循環參考?防止每次都重新編譯.代碼修改的最小編譯。

不僅僅是一個簡單的變數書寫格式,更多是函數參數應如何去指定,
指標的使用應該如何去包含? 為什麼禁止使用預設函數等等...


c++編碼風格和常見錯誤:c++是很靈活的,正是這種靈活導致了很多錯誤的發生,以及不規範編碼導致的錯誤.規範編碼是合格程式員的基本素質。 我們將 分析編碼中的易出現錯誤分析.



1 標頭檔依賴於前向申明

1 前向聲明: 當我們標頭檔中要用到別的類的對象的時候,只需要申明class ClassName 就可以了,無需使用#include "ClassName"

優勢:

1 缺少檔案依賴,節約編譯時間

2 更加明確的類的依賴關係

儘可能多的使用前向申明


#pragma onceclass tea; //在標頭檔類外部 前向申明class test{public:test();~test();void sss(tea aa); 函數參數用到這個類  但是不用到標頭檔};





2 函數參數的聲明熟悉 

a 輸入參數(傳遞給函數的)在前,輸出參數(函數內部賦值等)在後

b 輸入參數一般為傳值和常數引用

c 輸出參數或輸入/輸出參數一般為非常數指標

有利於代碼合并,通過位置明確參數的作用

 650) this.width=650;" src="https://s3.51cto.com/wyfs02/M02/9D/73/wKioL1mAPW-zzzqMAADKb0fOP7s155.png-wh_500x0-wm_3-wmp_4-s_2623660786.png" title="%Y(9X5PKU1EUAZ9EQJC%$VT.png" alt="wKioL1mAPW-zzzqMAADKb0fOP7s155.png-wh_50" />





3 標頭檔包含順序

1 先包含類對應的標頭檔

2 c系統標頭檔

3 C++系統標頭檔

4 其他庫標頭檔

5 本項目內標頭檔

之間通過空格區分,增加代碼可讀性。


類的標頭檔就是 該類所在實現方法的cpp裡,所以他第一個包含

650) this.width=650;" src="https://s5.51cto.com/wyfs02/M02/9D/73/wKiom1mAPj_Rmk53AAHHbr9wIME857.png-wh_500x0-wm_3-wmp_4-s_4284990831.png" title="B`{{3CX4~12(((1G_{[)4JA.png " alt="wKiom1mAPj_Rmk53AAHHbr9wIME857.png-wh_50" />





4 局部變數初始化

   在儘可能小的作用於總申明變數,裡第一次使用的位置越近越好。


一個類的局部變數會預設做一次構造和析構,應注意避免多次初始化和

析構.

650) this.width=650;" src="https://s3.51cto.com/wyfs02/M00/9D/73/wKiom1mAP1vSaT_RAACSUhvWNOA411.png-wh_500x0-wm_3-wmp_4-s_2045761524.png" title="(A{8F~YT~DPH82`NU[Z2_LH.png " alt="wKiom1mAP1vSaT_RAACSUhvWNOA411.png-wh_50" />



5 類成員初始化

注意類成員的初始化,初始化雖然很簡單,但是如果不做的話,會導致

不可估算的後果,養成良好的類成員申明習慣



6 類的聲明順序

類中函數和成員的申明分為3快,分別是:public,protected,paivate

代碼封裝性好,有利於調試

聲明順序如下:

1 typedef和enum

2 常量

3 建構函式

4 解構函式

5 成員函數,含靜態成員函數

6 資料成員,含待用資料成員



7 編寫短小的函數

如果沒有特殊需求,函數長度控制在40行左右,過長不影響程式啟動並執行情況下,分割這個函數>

提取重複的代碼, 便於他人閱讀和修改,便於發現和定位bug 



8 輸入的引用參數需要上const

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M02/9D/73/wKiom1mARU-iVNmuAABkFmC9ds8597.png-wh_500x0-wm_3-wmp_4-s_1284587326.png" title="~){XM[ZKN)SAYK24MC2E@5C.png" alt="wKiom1mARU-iVNmuAABkFmC9ds8597.png-wh_50" />



9 自增自減操作

q






本文出自 “12148490” 部落格,請務必保留此出處http://12158490.blog.51cto.com/12148490/1952736

C++編碼規範

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.