程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 高質量C/C++編程指南--程序版式

高質量C/C++編程指南--程序版式

編輯:C++入門知識

良好的代碼版式有助於閱讀代碼和進行維護。可以設想,沒有良好的排版的文章,估計讀者看不到一半就沒耐心繼續往下讀了。代碼更是如此,沒有好的編程風格,寫出來的代碼只會苦澀,讓人難以閱讀和理解。所以學習良好的編程風格是百利而無一害的!
利用好空格與換行(這兩者能使我們代碼的意思更加的清晰)
空行不會浪費內存,所以不要捨不得,但也不能濫用!一般我們會在以下情況添加空行(或進行換行):
在每個類聲明後、每個函數定義結束後添加
在一個函數體內,邏輯密切的相關語句之間不添加,反之可添加空行進行分隔
一行代碼只做一件事情。即一行只定義一個變量,或只寫一條語句。這樣方便閱讀和注釋
if \ for \ while \ do 等語句獨自占一行,執行語句不緊跟其後,不論執行語句的多少
盡量在定義變量的同時對該變量進行初始化,這樣做可以避免引用了未被初始化變量帶來的錯誤。
 
合理地使用空格,使變量名或關鍵字與其他的字符保持一定的距離。這樣做,就避免了因代碼的過度緊湊帶來 “審美疲勞” 。
同樣,關於如何合理使用空格,有以下的建議:
所有的關鍵字後至少留一個空格。而像 if \ while \ for 等關鍵字後應留一個空格再跟左括號  ‘ ( ’
函數名不能留空格
' ( ' 向後緊跟, ' ) ',  ' , ',  ' ; ' 向前緊跟
‘ , ’ 後留空格,若‘ ; ’ 不是一行的結束符號,其後要留空格
二元操作符前後應加空格
一元操作符前後不加空格
‘[ ] ',   ' . ',  ' - > ' 前後不加空格
[cpp]
int    width;  // 寬度 
int    height; // 高度 
 
x = a + b; 
y = c + d; 
 
if (width <= height) 

    function(); 

// 空行 
for (int i=0; i<n; i++) 

    function(); 

 
void function(int i, int j); 
 
if ((a>=b) && (c<=d)) 

    //...  

 
x = a < b ? a : b; 
 
a[5] = 0; 
a.function(); 
a->function(); 

 長行拆分:
代碼行的最大長度控制在70至80字符內。雖然如此,但我們可設想如果一整行都寫滿了,無疑會為我們閱讀代碼和維護帶來不便。所以就需要進行長行拆分。
[cpp] 
if ((very_longer_variable1 >= very_longer_variable12) 
   && (very_longer_variable3 <= very_longer_variable14) 
   && (very_longer_variable5 <= very_longer_variable16)) 

    function(); 

 
for (very_longer_initialization; 
     very_longer_condition; 
     very_longer_update) 

    function();   

注釋(通常用於):
版本、版權聲明
函數接口聲明
重要的代碼行或段落提示
注釋建議與規則:
注釋應當准確、易懂、防止有二義性
邊寫代碼邊注釋,修改代碼的同時修改注釋,保證一致性
當代碼比較長,特別是多重嵌套時,應當在一些段落的結束處加注釋,便於閱讀
注釋的位置應與被描述的代碼的相鄰,最好放在代碼的上方或右方,不可以在下方
注釋不能濫用。因為精簡到位的注釋能幫助我們理解代碼的意思,但如過多的濫用,並且做一些“多余”的注釋。只會多此一舉。例如: i++;  / / 變量i進行自增
[cpp] view plaincopyprint?
if () 

    //代碼行 
    while () 
    { 
        //代碼行 
    } // end of while 
 
    //代碼行 
 
} // end of if 

類的版式(主要有兩種):
“以數據為中心”。私有類型的數據寫在前面,將公有類型的函數寫在後面
“以行為為中心”。將公有類型的函數寫在前面,私有類型的數據寫在後面
 
建議采用“以行為為中心”。這樣不僅讓自己在設計類時思路清晰,而且方便別人閱讀。因為用戶關心的是接口。
 
 
 
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved