c++編程規範101條規則

來源:互聯網
上載者:User

標籤:控制系統   include   c++編程   

很久沒有更新過部落格了,其實不管多忙,有時候寫寫部落格未嘗不是一種提升。下面是我最近看的一本書的部分內容。

1.不要忽視警告,盡量沒有警告。

2.使用自動構建系統

3.使用版本控制系統

4.在代碼審查上投入

5.一個實體應該只有一個緊湊的職責

6.正確,簡單和清晰的代碼。

7.編程中應知道何時和如何考慮延展性

8.不要進行不成熟的最佳化。

9.不要進行不成熟的劣化。

10.盡量減少全域和共用資料。

11.隱藏資訊。

12.懂得何時和如何進行並發性編程。

13.確保資源為對象所擁有,使用顯式的RALL和智能指標。

14.寧要編譯時間和串連時錯誤,也不要運行錯誤。

15.積極使用const.

16.避免使用宏。

17.避免使用魔數。

18.儘可能局部地聲明變數。

19.總是初始設定變數。

20.避免函數過長,避免嵌套過程。

21.避免跨編譯單元的初始化依賴。

22.盡量減少定義性依賴,避免循環相依性。

23.標頭檔應該自給自足。

24.總是編寫內部#include保護符,絕不要編寫外部#include保護符。

25.正確地選擇通過值,指標或者引用傳遞參數。

26.保持重載操作符的自然語義。

27.優先使用算術操作符和賦值操作符的標準形式。

28.優先使用++和--的標準形式,有限調用首碼形式。

29.考慮重載以避免隱含類型轉換。

30.便面重載&&,||或,(逗號)。

31.不要編寫依賴於函數參數求值順序的代碼。

32.弄清所要編寫的是哪種類。

33.用小類代替巨類。

34.用組合代替繼承。

35.避免從並非要設計成基類的類中繼承。

36.優先提供抽象介面。

37.公用繼承即可替換性。繼承,不是為了重用。而是為了被重用。

38.實施安全的改寫。

39.考慮將虛擬函式宣告為非公用的,將公用函式宣告為非虛擬。

40.要避免提供隱式轉換。

41.將資料成員設為私人的,無行為的聚集(C語言形式的struct).

42.不要公開內部資料。

43.明確地使用pimpl。(使私人成員真正不可見)。

44.優先編寫非成員非友元函數。

45.總是一起提供NEW和Delete。

46.如果提供類專門的NEW,應該提供所有標準形式(普通,就地和不拋出)。

47.以同樣的順序定義和初始化成員變數。

48.在建構函式中初始化代替賦值。

49.避免在建構函式和解構函式中調用虛擬函數。

50.將基類解構函式設為公用且虛擬,或者保護且非虛擬。


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.