代碼編程:(二)良好的命名規範

在編程過程中,我們隨處都要進行命名。給變量,函數,參數,類,常量,類型,宏,包等。

命名一定要規範,良好的命名規範可以增強代碼的可讀性,易於他人和自己後期對代碼的理解與維護。不規範的命名,甚至錯誤的命名,會增加他人理解代碼的成本,甚至引起他人包括自己對代碼的誤解。自己就曾經有同事把“delegate”單詞錯拼成了“delete”從而導致另外一名同事糾結了一個下午。

怎麼做到良好的命名規範:


命名要名副其實

要做到通過名字,就知道變量爲什麼存在,在做什麼事情。一旦發現更好的更合適的命名,不要猶豫,馬上更換。如果一個命名需要用註釋進行補充說明,表明這個命名不算“名副其實”。

比如:

int i; //用來循環數組的下標索引

哪怕加了註釋,依然是很不好的命名,在其他位置遇到i,會很困惑,甚至可能需要跳到這裏看註釋,增加了代碼“模糊度”。


2 命名要“避免誤導”

千萬不要把“英語差”作爲糟糕代碼的擋箭牌,要知道寫代碼不僅僅是給自己看的,也是給其他人看的。

要做的命名單詞無拼寫錯誤。一定要做到。

不要佔用系統已有的專有詞彙命名。每種編程語言,都會警告大家,不要這樣做,甚至最好不要讓這些專業詞彙輕易出現在自己的命名中。

避免詞彙外形誤導,比如l(小寫的L字母)和1(阿拉伯數字1),o(小寫字母O)和0 (阿拉伯數字0)


3 作出“有意義的區分”

比如定義一個函數拷貝字符串

void copyString(char str1[], char str2[]);

str1和str2簡單使用數字命名的方式,在這個方法中就顯得很有誤導性,讓人看了分不清str1和str2的區別,誰是被拷貝的字符串,誰是拷貝以後的字符串。

如果改成source和destination進行區分,就會一下子明朗很多

void copyString(char source[], char destination[]);

假如一個項目定義了下面一些類

class Product;

class ProductData;

class ProductInfo;

info,data,a,the,an,在某些地方是意義含混的廢話。

variable不該出現在變量名中,Table不該出現在表名中,nameString不見得比name清晰多少。


4 儘量使名字“讀得出來”

OC剛出來的時候,被稱作一門很“優雅”的語言,其中有個特點,讀OC的官方代碼,函數的名字就是一句話,寫代碼如同寫作文。

不要用自創的單詞和語句。


5 多使用“可搜索的名字”

面對數字常量,多使用宏或者枚舉定義,不要直接在代碼中使用數字。數字是很難看出含義的,後期維護很麻煩。


前綴的區分

很多時候,項目需要引入第三方庫,需要和第三方公司合作;保持類名,包名的特殊性,能夠避免命名衝突。

發佈了3 篇原創文章 · 獲贊 14 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章