¹4-1
:注意運算子的優先順序,並用括號明確表示式的操作順序,避免使用預設優先順序。
說明:防止閱讀程式時產生誤解,防止因預設的優先順序與設計思想不符而導致程式出錯。
示例:下列語句中的表示式
word = (high << 8) | low(1)
if ((a | b) && (a & c))(2)
if ((a | b) < (c & d))(3)
如果書寫為
high << 8 | low
a | b && a & c
a | b < c & d
由於high << 8 | low = ( high << 8) | low,
a | b && a & c = (a | b) && (a & c)
,(1)(2)
不會出錯,但語句不易理解;
a | b < c & d = a |
(b < c
)& d
,(3)
造成了判斷條件出錯。
¹4-2
:避免使用不易理解的數字,用有意義的標識來替代。涉及物理狀態或者含有物理意義的常量,不應直接使用數字,必須用有意義的列舉或巨集來代替。
示例:如下的程式可讀性差。
if (trunk[index].trunk_state == 0)
應改為如下形式。
#define trunk_idle 0
#define trunk_busy 1
if (trunk[index].trunk_state == trunk_idle)
½4-1
:源程式中關係較為緊密的**應盡可能相鄰。
說明:便於程式閱讀和查詢。
示例:以下**布局不太合理。
rect.length = 10;
char_poi = str;
rect.width = 5;
若按如下形式書寫,可能更清晰一些。
rect.length = 10;
rect.width = 5; //
矩形的長與寬關係較密切,放在一起。
char_poi = str;
½4-2
:不要使用難懂的技巧性很高的語句,除非很有必要時。
說明:高技巧語句不等於高效率的程式,實際上程式的效率關鍵在於演算法。
示例:如下表示式,考慮不周就可能出問題,也較難理解。
* stat_poi ++ += 1;
* ++ stat_poi += 1;
應分別改為如下。
*stat_poi += 1;
stat_poi++;//
此二語句功能相當於「
* stat_poi ++ += 1;
」++ stat_poi;
*stat_poi += 1; //
此二語句功能相當於「
* ++ stat_poi += 1; 」
華為軟體程式設計規範學習 四 可讀性
華為軟體程式設計規範學習 四 可讀性 4 1 注意運算子的優先順序,並用括號明確表示式的操作順序,避免使用預設優先順序 說明 防止閱讀程式時產生誤解,防止因預設的優先順序與設計思想不符而導致程式出錯。示例 下列語句中的表示式 word high 8 low 1 if a b a c 2 if a b...
C語言編碼規範 4 可讀性
擴充套件閱讀鏈結 c語言編碼規範 1 檔案與目錄 c語言編碼規範 2 排版 c語言編碼規範 3 注釋 c語言編碼規範 5 變數 結構 常量 巨集 c語言編碼規範 6 函式 程式設計師常用單詞彙總 1 注意運算子的優先順序,並用括號明確表示式的操作順序,避免使用預設優先順序。word high 8 l...
C語言程式設計規範3 可讀性
我們不僅要寫高效的 還要寫可讀性很強的 隨著我們所開發系統的複雜性的不斷提高,這就要求我們所寫的程式具有3個特性 1 可讀性 2 可多人協作性 3 可移植性。但是,像我們這樣電子專業畢業的學生,都沒有接受過 軟體設計方 作業系統原理 等課程的深入訓練,這就使我們所寫的程式與軟體專業工程師所寫的程式具...