运筹帷幄之中决胜千里之外 菜鸟初识代码编程规范二 命名规范
??????? 良好的命名規范可以為團隊合作開發推波助瀾,無論在項目開發,還是產品維護上都起到了至關重要的作用。應該說命名規范是一種約定,也是程序員之間良好溝通的橋梁。另外古人相信只要知道一個人真正的名字就會獲得凌駕于那個人之上的不可思議的力量。只要給事物想到正確的名字,它就可以帶來比代碼更強的力量。如果所有的命名都與其自然相適合,則關系清晰,含義可以推導得出,一般人的推想也能在意料之中。
命名規范
在vb的學習當中介紹:
?程序代碼常常要引用控件和變量,在復雜的過程中,很難完全理解代碼中出現的所有元素。
?如何確定某個語句是引用一個變量還是控件呢?如果沒有某種約定將變量與控件區分開來,代碼就很難閱讀。 ?例如: ? TotalDue=LineItemTotal-Discount+TotalTax?軟件開發人員從數據類型后綴改為使用單字符前綴
?例如 –Dim Iwidth As Long
–Dim iHeight As Integer)
?更好的命名約定最終代替了單字符前綴。這種命名約定稱為匈牙利標記法, –它使用3字符前綴來表示數據類型和控件類型, ?如何直觀地與賦予變量的數據類型相匹配的: D i m strNameAs String
?3個字符可以實現充分的多變性,并使前綴合乎邏輯和直觀。再一次觀察一下前面給出的代碼語句:
TotalDue = LineItemTotal – Discount + TotalTax
相等價的語句 txtTotalDue.Text = curLineItemTotal –txtDiscount.Text + curTotalTax
curTotalDue = curLineItemTotal – curDiscount + curTotalTax
txtTotalDue.Text =txtLineItemTotal.Text – txtDiscount.Text + _txtTotalTax.Text
?這些前綴使得代碼語句更加容易理解。 ?只要閱讀一下語句,就能知道發生的一切,
總體規則
??名字應該能夠標識事物的特性。
? ?名字一律使用英文單詞,而不能為拼音。
? ?名字盡量不使用縮寫,除非它是眾所周知的。
??名字可以有兩個或三個單詞組成,但不應多于三個,控制在3至30個字母以內。
??在名字中,多個單詞用大寫第一個字母(其它字母小寫)來分隔。例如:IsSuperUser。
??名字盡量使用前綴而不是后綴。
??名字中的單詞盡量使用名詞,如有動詞,也盡量放在后面。例如:FunctionUserDelete(而不是FunctionDeleteUser)。
?
在具體任務開發中,如果有特定的命名約定,則在相應的軟件開發計劃中予以明確定義及上報質量管理部審計組。
???命名規范
Variable)命名
Pascal:?大小寫形式——所有單詞第一個字母大寫,其他字母小寫。
camel: ??大小寫形式——除了第一個單詞,所有單詞第一個字母大寫,其他字母小寫。
?
??在.NET編碼規范中所有變量都用camel命名形式,而不是用數據類型和m_來作前綴。
?
??用有意義的,描述性的詞語來命名變量
- 別用縮寫。用name, address, salary等代替nam, addr, sal
- 別使用單個字母的變量象i, n, x等.使用index, temp等
用于循環迭代的變量例外:
?
-????????變量名中不使用下劃線 (_)。
- 命名空間需按照標準的模式命名?
?
在程序中,明確變量的作用范圍是很有必要的,所以規定:
-???全局變量命名:加前綴‘g’表示(global)。
例如:string gstrName;?????????? int giID;
-???局部變量命名:變量類型+變量名。
例如:string strName;?????? ?????int iID;
-???靜態變量命名:加前綴‘s’表示(static)
例如:static string sstrName;?????? static int siID;
-????????只讀變量命名:加前綴‘ro’表示(readonly)
例如:readonly string rostrName;??? readonly int roiID;
?
補充說明:
?
針對異常捕獲過程中的Exception變量命名,在沒有沖突的情況下,統一命名為exp;
如果有沖突的情況下,可以用“exp”+標志名稱,如:expSql。
Try{//your codetry{//code}catch(Exceptionexp){//your code}}catch(ExceptionexpSql){//your code}
補充:如果捕獲異常不需要作任何處理,則不需要定義Exception實例。
例:
try{//your code}catch( Exception exp){}
?
??鑒于大多數名稱都是通過連接若干單詞構造的,請使用大小寫混合的格式以簡化它們的閱讀。每個單詞的第一個字母都是大寫.
??即使對于可能僅出現在幾個代碼行中的生存期很短的變量,仍然使用有意義的名稱。僅對于短循環索引使用單字母變量名,如 i或 j。
??在變量名中使用互補對,如 min/max、begin/end和 open/close。
??不要使用原義數字或原義字符串,如 For (i = 1;i <= 7;i++)。而是使用命名常數,如 For (i = 1;i <= NUM_DAYS_IN_WEEK;i++)以便于維護和理解。
?
常量名也應當有一定的意義,格式為NOUN或NOUN_VERB。常量名均為大寫,字之間用下劃線分隔。
例:
Private constbool WEB_ENABLEPAGECACHE_DEFAULT =true;privateconstint WEB_PAGECACHEEXPIRESINSECONDS_DEFAULT = 3600;private constbool WEB_ENABLESSL_DEFAULT =false;
?
注:
變量名和常量名最多可以包含 255個字符,但是,超過 25到 30個字符的名稱比較笨拙。此外,要想取一個有實際意義的名稱,清楚地表達變量或常量的用途,25或 30個字符應當足夠了。
Class)命名
a)名字應該能夠標識事物的特性。
b)名字盡量不使用縮寫,除非它是眾所周知的。
c)名字可以有兩個或三個單詞組成,但通常不應多于三個。
d)?使用Pascal,所有單詞第一個字母大寫。例如? IsSuperUser,包含ID的,ID全部大寫,如CustomerID。
e)?使用名詞或名詞短語命名類。
f)? 少用縮寫。
g)不要使用下劃線字符 (_)。
例: public classFileStreampublic classButtonpublic classString
Interface)命名
???和類命名規范相同,唯一區別是?接口在名字前加上“I”前綴
??
例:interface IDBCommand;interface IButton;
Method)命名
a)和類命名規范相同。
b)方法名需能看出它作什么。別使用會引起誤解的名字。如果名字一目了然,就無需用文檔來解釋方法的功能了。
?(NameSpace)命名
? 和類命名規范相同。
?
?
總結
以上是生活随笔為你收集整理的运筹帷幄之中决胜千里之外 菜鸟初识代码编程规范二 命名规范的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 工厂人员定位系统方案核心功能
- 下一篇: excel两个指标相关性分析_如何用ex