若是想要有效的管理一個稍微複雜一點的體系,針對其中事物的一套統1、帶層次結構、清晰明瞭的命名準則就是必不可少並且很是好用的工具。程序員
活躍在生物學、化學、軍隊、監獄、黑社會、恐怖組織等各個領域內的大量有識先輩們都曾經無數次地以實際行動證實了以上公理的正確性。除了上帝(設它能夠改變世間萬物的秩序)之外,相信沒人有實力對它不屑一顧。數組
在軟件開發這一高度抽象並且十分複雜的活動中,命名規則的重要性更顯得尤其突出。一套定義良好而且完整的、在整個項目中統一使用的命名規範將大大提高源代碼的可讀性和軟件的可維護性。函數
在引入細節以前,先說明一下命名規範的總體原則:工具
同一性post |
在編寫一個子模塊或派生類的時候,要遵循其基類或總體模塊的命名風格,保持命名風格在整個模塊中的同一性。spa |
標識符組成指針 |
標識符采用英文單詞或其組合,應當直觀且能夠拼讀,可望文知意,用詞應當準確。對象 |
最小化長度 && 最大化信息量原則blog |
在保持一個標識符意思明確的同時,應當儘可能縮短其長度。進程 |
避免過於類似 |
不要出現僅靠大小寫區分的類似的標識符,例如「i」與「I」,「function」與「Function」等等。 |
避免在不一樣級別的做用域中重名 |
程序中不要出現名字徹底相同的局部變量和全局變量,儘管二者的做用域不一樣而不會發生語法錯誤,但容易令人誤解。 |
正確命名具備互斥意義的標識符 |
用正確的反義詞組命名具備互斥意義的標識符,如:"nMinValue"和"nMaxValue","GetName()" 和 "SetName()" .... |
避免名字中出現數字編號 |
儘可能避免名字中出現數字編號,如Value1,Value2等,除非邏輯上的確須要編號。這是爲了防止程序員偷懶,不願爲命名動腦筋而致使產生無心義的名字(由於用數字編號最省事)。 |
類/結構
除了異常類等個別狀況(不但願用戶把該類看做一個普通的、正常的類之狀況)外,C++類/結構
不一樣於C++類的概念,傳統的C結構體只是一種將一組數據捆綁在一塊兒的方式。傳統C結構體的命名規則爲:
|
函數
|
變量
變量應該是程序中使用最多的標識符了,變量的命名規範多是一套C++命名準則中最重要的部分:
|
常量
C++中引入了對常量的支持,常量的命名規則以下:
|
枚舉、聯合、typedef
枚舉、聯合及typedef語句都是定義新類型的簡單手段,它們的命名規則爲:
|
宏、枚舉值
|