




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、軟件代碼編寫規(guī)范草稿1命名規(guī)則命名規(guī)則一致的命名模式是托管類庫中可預知性與可發(fā)現(xiàn)性最重要的元素之一。對這些命名指南廣泛的使用和理解將消除許多最常見的用戶問題。本主題提供.NETFramework類型的命名指南。對于每個類型,還應該注意關于大寫樣式、區(qū)分大小寫和措詞的一些通用規(guī)則。1.1.1 大寫樣式描述用于在類庫中命名標識符的Pascal大小寫、Camel大小寫和全部大寫樣式。使用下面的三種大寫標識符約定。Pascal大小寫將標識符的首字母和后面連接的每個單詞的首字母都大寫??梢詫θ址蚋嘧址臉俗R符使用Pascal大小寫。例如:BackColorCamel大小寫標識符的首字母小寫,而每個
2、后面連接的單詞的首字母都大寫。例如:backColor大寫標識符中的所有字母都大寫。僅對于由兩個或者更少字母組成的標識符使用該約定。例如:可能還必須大寫標識符以維持與現(xiàn)有非托管符號方案的兼容性,在該方案中所有大寫字母經(jīng)常用于枚舉和常數(shù)值。一般情況下,在使用它們的程序集之外這些字符應當是不可見的。下表匯總了大寫規(guī)則,并提供了不同類型的標識符的示例。標識符大小寫示例類PascalAppDomain枚舉類型PascalErrorLevel枚舉值PascalFatalError事件PascalValueChange異常類PascalWebException注意總是以Exception后綴結(jié)尾。只讀的靜
3、態(tài)字段PascalRedValue接口PascalIDisposable注意總是以I前綴開始。方法PascalToString命名空間Pascal參數(shù)CameltypeName屬性PascalBackColor受保護的實例字段CamelredValue注意很少使用。屬性優(yōu)于使用受保護的實例字段。公共實例字段PascalRedValue注意很少使用。屬性優(yōu)于使用公共實例字段。1.1.2 區(qū)分大小寫為了避免混淆和保證跨語言交互操作,請遵循有關區(qū)分大小寫的使用的下列規(guī)則:不要使用要求區(qū)分大小寫的名稱。對于區(qū)分大小寫和不區(qū)分大小寫的語言,組件都必須完全可以使用。不區(qū)分大小寫的語言無法區(qū)分同一上下文中僅
4、大小寫不同的兩個名稱。因此,在創(chuàng)建的組件或類中必須避免這種情況。不要創(chuàng)建僅是名稱大小寫有區(qū)別的兩個命名空間。例如,不區(qū)分大小寫的語言無法區(qū)分以下兩個命名空間聲明。namespace;namespace;不要創(chuàng)建具有僅是大小寫有區(qū)別的參數(shù)名稱的函數(shù)。下面的示例是不正確的。voidMyFunction(stringa,stringA)不要創(chuàng)建具有僅是大小寫有區(qū)別的類型名稱的命名空間。在下面的示例中,Pointp和POINTp是不適當?shù)念愋兔Q,原因是它們僅在大小寫方面有區(qū)別。pp不要創(chuàng)建具有僅是大小寫有區(qū)別的屬性名稱的類型。在下面的示例中,intColor和intCOLO雙不適當?shù)膶傩悦Q,原因是
5、它們僅在大小寫方面有區(qū)別。intColorget,setintCOLORget,set不要創(chuàng)建具有僅是大小寫有區(qū)別的方法名稱的類型。在下面的示例中,calculate和Calculate是不適當?shù)姆椒Q,原因是它們僅在大小寫方面有區(qū)別。voidcalculate。voidCalculate()1.1.3 縮寫為了避免混淆和保證跨語言交互操作,請遵循有關區(qū)縮寫的使用的下列規(guī)則:不要將縮寫或縮略形式用作標識符名稱的組成部分。例如,使用GetWindow,而不要使用GetWin。不要使用計算機領域中未被普遍接受的縮寫。在適當?shù)臅r候,使用眾所周知的縮寫替換冗長的詞組名稱。例如,用UI作為UserIn
6、terface的縮寫,用OLAP作為On-lineAnalyticalProcessing的縮寫。在使用縮寫時,對于超過兩個字符長度的縮寫,請使用Pascal大小寫或Camel大小寫。例如,使用HtmlButton或htmlButton。但是,應當大寫僅有兩個字符的縮寫,如,而不是。不要在標識符或參數(shù)名稱中使用縮寫。如果必須使用縮寫,對于由多于兩個字符所組成的縮寫請使用Camel大小寫,雖然這和單詞的標準縮寫相沖突。1.1.4 措詞避免使用與常用的.NETFramework命名空間重復的類名稱。例如,不要將以下任何名稱用作類名稱:System、Collections、Forms或UI。有關.N
7、ETFramework命名空間的列表,請參見類庫。另外,避免使用和以下關鍵字沖突的標識符。AddHandlerAddressOfAliasAndAnsiAsAssemblyAutoBaseBooleanByRefByteByValCallCaseCatchCBoolCByteCCharCDateCDecCDblCharCIntClassCLngCObjConstCShortCSngCStrCTypeDateDecimalDeclareDefault1.1.5 避免類型名稱混淆語言不同的編程語言使用不同的術語標識基本托管類型。類庫設計人員必須避免使用語言特定的術語。請遵循本節(jié)中描述的規(guī)則以避免類
8、型名稱混淆。使用描述類型的含義的名稱,而不是描述類型的名稱。如果參數(shù)除了其類型之外沒有任何語義含義,那么在這種罕見的情況下請使用一般性名稱。例如,支持將各種數(shù)據(jù)類型寫入到流中的類可以有以下方法。VisualBasicSubWrite(valueAsDouble);SubWrite(valueAsSingle);SubWrite(valueAsLong);SubWrite(valueAsInteger);SubWrite(valueAsShort);C#voidWrite(doublevalue);voidWrite(floatvalue);voidWrite(longvalue);voidWr
9、ite(intvalue);voidWrite(shortvalue);不要創(chuàng)建語言特定的方法名稱,如下面的示例所示。VisualBasicSubWrite(doubleValueAsDouble);SubWrite(singleValueAsSingle);SubWrite(longValueAsLong);SubWrite(integerValueAsInteger);SubWrite(shortValueAsShort);C#voidWrite(doubledoubleValue);voidWrite(floatfloatValue);voidWrite(longlongValue);v
10、oidWrite(intintValue);voidWrite(shortshortValue);如果有必要為每個基本數(shù)據(jù)類型創(chuàng)建唯一命名的方法,那么在這種極為罕見的情況下請使用通用類型名稱。下表列出基本數(shù)據(jù)類型名稱和它們的通用替換。C#類型名稱VisualBasic名稱類型JScript類型名稱VisualC+類型名稱表示形式通用類型名稱sbyteSBytesBytecharint8SBytebyteBytebyteunsignedcharunsignedint8ByteshortShortshortshortint16Int16ushortUInt16ushortunsignedshort
11、unsignedint16UInt16intIntegerintintint32Int32uintUInt32uintunsignedintunsignedint32UInt32longLonglong_int64int64Int64ulongUInt64ulongunsigned_int64unsignedint64UInt64floatSinglefloatfloatfloat32SingledoubleDoubledoubledoublefloat64DoubleboolBooleanbooleanboolboolBooleancharCharcharwchar_tcharCharstr
12、ingStringstringStringstringStringobjectObjectobjectObjectobjectObject例如,支持將從流讀取各種數(shù)據(jù)類型的類可以有以下方法。VisualBasicReadDouble()AsDoubleReadSingle()AsSingleReadInt64()AsLongReadInt32()AsIntegerReadInt16()AsShortC#doubleReadDouble();floatReadSingle();longReadInt64();intReadInt32();shortReadInt16();上面的示例優(yōu)先于下面的語
13、言特定的替代方法。VisualBasicReadDouble()AsDoubleReadSingle()AsSingleReadLong()AsLongReadInteger()AsIntegerReadShort()AsShortC#doubleReadDouble();floatReadFloat();longReadLong();intReadInt();shortReadShort();1.1.6 命名空間命名指南命名命名空間時的一般性規(guī)則是使用公司名稱,后跟技術名稱和可選的功能與設計,如下所示。.Feature.Design例如:給命名空間名稱加上公司名稱或者其他知名商標的前綴可以避
14、免兩個已經(jīng)發(fā)布的命名空間名稱相同的可能性。例如,是由Microsoft提供的OfficeAutomationClasses的一個適當?shù)那熬Y。在第二級分層名稱上使用穩(wěn)定的、公認的技術名稱。將組織層次架構用作命名空間層次架構的基礎。命名一個命名空間,該命名空間包含為具有.Design后綴的基命名空間提供設計時功能的類型。例如,命名空間包含用于設計基于的應用程序的設計器和相關的類。嵌套的命名空間應當在包含它的命名空間中的類型上有依賴項。例如,中的類依賴于中的類。但是,中的類不依賴于中的類。應當對命名空間使用Pascal大小寫,并用句點分隔邏輯組件,如中所示。如果您的商標使用非傳統(tǒng)的大小寫,請遵循您的
15、商標所定義的大小寫,即使它與規(guī)定的Pascal大小寫相背離。例如,命名空間和闡釋了對于Pascal大小寫規(guī)則的適當背離。如果在語義上適當,使用復數(shù)命名空間名稱。例如,使用而不是。此規(guī)則的例外是商標名稱和縮寫。例如,使用而不是O不要為命名空間和類使用相同的名稱。例如,不要既提供Debug命名空間也提供Debug類。最后,請注意命名空間名稱不必非得與程序集名稱相似。例如,如果命名程序集,它沒有必要非得包含命名空間。推薦使用的命名空間1.1.7 類命名指南以下規(guī)則概述命名類的指南:使用名詞或名詞短語命名類。使用Pascal大小寫。少用縮寫。不要使用類型前綴,如在類名稱上對類使用C前綴。例如,使用類名
16、稱FileStream,而不是CFileStream。不要使用下劃線字符(_)o有時候需要提供以字母I開始的類名稱,雖然該類不是接口。只要I是作為類名稱組成部分的整個單詞的第一個字母,這便是適當?shù)?。例如,類名稱IdentityStore就是適當?shù)?。在適當?shù)牡胤?,使用復合單詞命名派生的類。派生類名稱的第二個部分應當是基類的名稱。例如,ApplicationException對于從名為Exception的類派生的類是適當?shù)拿Q,原因是ApplicationException是一種Exception。請在應用該規(guī)則時進行合理的判斷。例如,Button對于從Control派生的類是適當?shù)拿Q。盡管按鈕
17、是一種控件,但是將Control作為類名稱的一部分將使名稱不必要地加長。下面是正確命名的類的示例。VisualBasicPublicClassFileStreamPublicClassButtonPublicClassStringC#publicclassFileStreampublicclassButtonpublicclassString1.1.8 接口命名指南以下規(guī)則概述接口的命名指南:用名詞或名詞短語,或者描述行為的形容詞命名接口。例如,接口名稱IComponent使用描述性名詞。接口名稱ICustomAttributeProvider使用名詞短語。名稱IPersistable使用形容
18、詞。使用Pascal大小寫。少用縮寫。給接口名稱加上字母I前綴,以指示該類型為接口。在定義類/接口對(其中類是接口的標準實現(xiàn))時使用相似的名稱。兩個名稱的區(qū)別應該只是接口名稱上有字母I前綴。不要使用下劃線字符(_)。以下是正確命名的接口的示例。VisualBasicPublicInterfaceIServiceProviderPublicInterfaceIFormatableC#publicinterfaceIServiceProviderpublicinterfaceIFormatable以下代碼示例闡釋如何定義IComponent接口及其標準實現(xiàn)Component類。VisualBasi
19、cPublicInterfaceIComponentImplementationcodegoeshere.EndInterfacePublicClassComponentImplementsIComponentImplementationcodegoeshere.EndClassC#publicinterfaceIComponentpublicclassComponent:IComponent1.1.9 屬性命名指南應該總是將后綴Attribute添加到自定義屬性類。以下是正確命名的屬性類的示例。VisualBasicPublicClassObsoleteAttributeC#publiccl
20、assObsoleteAttribute1.1.10 枚舉類型命名指南枚舉(Enum)值類型從Enum類繼承。以下規(guī)則概述枚舉的命名指南:對于Enum類型和值名稱使用Pascal大小寫。少用縮寫。不要在Enum類型名稱上使用Enum后綴。對大多數(shù)Enum類型使用單數(shù)名稱,但是對作為位域的Enum類型使用復數(shù)名稱??偸菍lagsAttribute添加到位域Enum類型。1.1.11 靜態(tài)字段命名指南以下規(guī)則概述靜態(tài)字段的命名指南:使用名詞、名詞短語或者名詞的縮寫命名靜態(tài)字段。使用Pascal大小寫。不要在靜態(tài)字段名稱中使用匈牙利語表示法的前綴。建議盡可能使用靜態(tài)屬性而不是公共靜態(tài)字段。1.1.
21、12 參數(shù)命名指南必須仔細遵守這些參數(shù)的命名指南,這非常重要,因為提供上下文相關幫助和類瀏覽功能的可視化設計工具會在設計器中對用戶顯示方法參數(shù)名稱。以下規(guī)則概述參數(shù)的命名指南:對參數(shù)名稱使用Camel大小寫。使用描述性參數(shù)名稱。參數(shù)名稱應當具有足夠的描述性,以便參數(shù)的名稱及其類型可用于在大多數(shù)情況下確定它的含義。例如,提供上下文相關幫助的可視化設計工具會按開發(fā)人員鍵入的實際內(nèi)容顯示方法參數(shù)。在這種情況下,方法參數(shù)名稱的表述必須清楚明白,開發(fā)人員才能提供正確的參數(shù)。使用描述參數(shù)的含義的名稱,而不要使用描述參數(shù)的類型的名稱。開發(fā)工具將提供有關參數(shù)的類型的有意義的信息。因此,通過描述意義,可以更好地
22、使用參數(shù)的名稱。少用基于類型的參數(shù)名稱,僅在適合使用它們的地方使用它們。不要使用保留的參數(shù)。保留的參數(shù)是專用參數(shù),如果需要,可以在未來的版本中公開它們。相反,如果在類庫的未來版本中需要更多的數(shù)據(jù),請為方法添加新的重載。不要給參數(shù)名稱加匈牙利語類型表示法的前綴。以下是正確命名的參數(shù)的示例。VisualBasicGetType(typeNameAsString)AsTypeFormat(formatAsString,args()Asobject)AsStringC#TypeGetType(stringtypeName)stringFormat(stringformat,objectargs)1.1
23、.13 方法命名指南以下規(guī)則概述方法的命名指南:使用動詞或動詞短語命名方法。使用Pascal大小寫。以下是正確命名的方法的實例。RemoveAll()GetCharArray()Invoke()1.1.14 屬性命名指南以下規(guī)則概述屬性的命名指南:使用名詞或名詞短語命名屬性。使用Pascal大小寫。不要使用匈牙利語表示法??紤]用與屬性的基礎類型相同的名稱創(chuàng)建屬性。例如,如果聲明名為Color的屬性,則屬性的類型同樣應該是Coloro請參見本主題內(nèi)下文中的示例。以下代碼示例闡釋正確的屬性命名。VisualBasicPublicClassSampleClassPublicPropertyBackC
24、olorAsColorCodeforGetandSetaccessorsgoeshere.EndPropertyEndClassC#publicclassSampleClasspublicColorBackColor以下代碼示例闡釋提供其名稱與類型相同的屬性。VisualBasicPublicEnumColorInsertcodeforEnumhere.EndEnumPublicClassControlPublicPropertyColorAsGetInsertcodehere.EndGetSetInsertcodehere.EndSetEndPropertyEndClassC#publice
25、numColorpublicclassControlpublicColorColorgetset以下代碼示例不正確,原因是VisualBasicPublicEnumColorInsertcodeforEnumhere.EndEnumPublicClassControlPublicPropertyColorAsGetInsertcodehere.ColorColor屬性是IntegerInteger類型的。EndGetSetInsertcodehere.EndSetEndPropertyEndClassC#publicenumColorpublicclassControlpublicintCol
26、orgetset在不正確的示例中,不可能引用Color枚舉的成員。將被解釋為訪問一個成員,該成員首先獲取Color屬性(在VisualBasic中為Integer類型,在C#中為int類型)的值,然后再訪問該值的某個成員(該成員必須是的實例成員)。1.1.15事件命名指南以下規(guī)則概述事件的命名指南:使用Pascal大小寫。不要使用匈牙利語表示法。對事件處理程序名稱使用EventHandler后綴。指定兩個名為sender和e的參數(shù)。sender參數(shù)表示引發(fā)事件的對象。sender參數(shù)始終是object類型的,即使在可以使用更為特定的類型時也如此。與事件相關聯(lián)的狀態(tài)封裝在名為e的事件類的實例中。
27、對e參數(shù)類型使用適當而特定的事件類。用EventArgs后綴命名事件參數(shù)類??紤]用動詞命名事件。例如,命名正確的事件名稱包括Clicked、Painting和DroppedDown使用動名詞(動詞的“ing”形式)創(chuàng)建表示事件前的概念的事件名稱,用過去式表示事件后。例如,可以取消的Close事件應當具有Closing事件和Closed事件。不要使用BeforeXxx/AfterXxx命名模式。不要在類型的事件聲明上使用前綴或者后綴。例如,使用Close,而不要使用OnClose。通常情況下,對于可以在派生類中重寫的事件,應在類型上提供一個受保護的方法(稱為OnXxx)。此方法只應具有事件參數(shù)e
28、,因為發(fā)送方總是類型的實例。以下示例闡釋具有適當名稱和參數(shù)的事件處理程序。VisualBasicPublicDelegateSubMouseEventHandler(senderAsObject,eAsMouseEventArgs)C#publicdelegatevoidMouseEventHandler(objectsender,MouseEventArgse);以下示例闡釋正確命名的事件參數(shù)類。VisualBasicPublicClassMouseEventArgsInheritsEventArgsDimxAsIntegerDimyAsIntegerPublicSubNewMouseEve
29、ntArgs(xAsInteger,yAsInteger)=x=yEndSubPublicPropertyXAsIntegerGetReturnxEndGetEndPropertyPublicPropertyYAsIntegerGetReturnyEndGetEndPropertyEndClassC#publicclassMouseEventArgs:EventArgsintx;inty;publicMouseEventArgs(intx,inty)=x;=y;publicintXgetreturnx;publicintYgetreturny;ORACL瑜名規(guī)則在命名表時,使用全大寫名稱;連接
30、的單詞間用“_”隔開。例如,MATERIAL_BALANCE用單數(shù)形式表示名稱。例如,使用EMPLOYEE而不是EMPLOYEES在命名表的列時,一般不要重復表的名稱;例如,在名為EMPLOYE的表中避免使用名為EMPLOYEE_BIRTHDAY字段,但為ID和NAME勺字段可使用表名為前綴。不要在列的名稱中包含數(shù)據(jù)類型。如果后來有必要更改數(shù)據(jù)類型,這將減少工作量。將每個主要的SQL子句放在不同的行上,這樣更容易閱讀和編輯語句,例如:SELECTfirst_name,last_nameFROMcustomersWHEREstate=WA2注釋軟件文檔以兩種形式存在:外部的和內(nèi)部的。外部文檔(如
31、規(guī)范、幫助文件和設計文檔)在源代碼的外部維護。內(nèi)部文檔由開發(fā)人員在開發(fā)時在源代碼中編寫的注釋組成。不考慮外部文檔的可用性,由于硬拷貝文檔可能會放錯地方,源代碼清單應該能夠獨立存在。外部文檔應該由規(guī)范、設計文檔、更改請求、錯誤歷史記錄和使用的編碼標準組成。內(nèi)部軟件文檔的一個難題是確保注釋的維護與更新與源代碼同時進行。盡管正確注釋源代碼在運行時沒有任何用途,但這對于必須維護特別復雜或麻煩的軟件片段的開發(fā)人員來說卻是無價的。以下幾點是推薦的注釋方法:如果用C#進行開發(fā),請使用XML文檔功能。有關更多信息,請參見:XML文檔。修改代碼時,總是使代碼周圍的注釋保持最新。在每個例程的開始,提供標準的注釋樣
32、本以指示例程的用途、假設和限制很有幫助。注釋樣本應該是解釋它為什么存在和可以做什么的簡短介紹。避免在代碼行的末尾添加注釋;行尾注釋使代碼更難閱讀。不過在批注變量聲明時,行尾注釋是合適的;在這種情況下,將所有行尾注釋在公共制表位處對齊。避免雜亂的注釋,如一整行星號。而是應該使用空白將注釋同代碼分開。避免在塊注釋的周圍加上印刷框。這樣看起來可能很漂亮,但是難于維護。在部署之前,移除所有臨時或無關的注釋,以避免在日后的維護工作中產(chǎn)生混亂。如果需要用注釋來解釋復雜的代碼節(jié),請檢查此代碼以確定是否應該重寫它。盡一切可能不注釋難以理解的代碼,而應該重寫它。盡管一般不應該為了使代碼更簡單以便于人們使用而犧牲
33、性能,但必須保持性能和可維護性之間的平衡。在編寫注釋時使用完整的句子。注釋應該闡明代碼,而不應該增加多義性。在編寫代碼時就注釋,因為以后很可能沒有時間這樣做。另外,如果有機會復查已編寫的代碼,在今天看來很明顯的東西六周以后或許就不明顯了。注釋代碼中不十分明顯的任何內(nèi)容。為了防止問題反復出現(xiàn),對錯誤修復和解決方法代碼總是使用注釋,尤其是在團隊環(huán)境中。對由循環(huán)和邏輯分支組成的代碼使用注釋。這些是幫助源代碼讀者的主要方面。在整個應用程序中,使用具有一致的標點和結(jié)構的統(tǒng)一樣式來構造注釋。用空白將注釋同注釋分隔符分開。在沒有顏色提示的情況下查看注釋時,這樣做會使注釋很明顯且容易被找到。XML文檔在Vis
34、ualC#中,可以將使用XML編寫的代碼文檔化。C#是VisualStudio.NET中唯一具有此項功能的編程語言。請在代碼構造(如類型和類型成員)上處理標記。注意不在命名空間上處理標記。編譯器將處理任何為有效XML的標記。下列標記提供了用戶文檔中常用的功能:11111112.1.1 描述標記語法:description其中:description對象的摘要。備注標記應當用于描述類型或類型成員。使用添加針對某個類型說明的補充信息。有關標記的文本是關于智能感知中類型信息的唯一來源,并且也顯示在對象瀏覽器和代碼注釋Web報表中。示例forinformationaboutoutputstatemen
35、ts.MainMain2.1.2MainMain2.1.3/parampublicstaticvoidMyMethod(intInt1)MainMain2.1.4/returnspublicstaticintGetZero()return0;MainMain2.1.5MainMainMain2.1.6.classTestClasspublicstaticvoidMain()trycatch(EClass)2.1.7語法其中備注示例屬性說明property-descriptionproperty-description屬性的說明。標記使您得以描述屬性。請注意,當在VisualStudio.NET
36、開發(fā)環(huán)境中通過代碼向?qū)砑訉傩詴r,它將會為新屬性添加標記。然后,應該手動添加標記以描述該屬性所表示的值。MainMain調(diào)用方法:.日期:起始日期,如:2000/8/21.9:2000/8/23:45函數(shù)名()程序說明結(jié)束*/2、變量的注釋:對于變量的注釋緊跟在變量的后面說明變量的作用。原則上對于每個變量應該注釋,但對于意義非常明顯的變量,如:i,j等循環(huán)變量可以不注釋。例如:longlLineCount-線的根數(shù)。3、文件的注釋:文件應該在文件開頭加入以下注釋:/*-1、注釋for()if()-注釋else-注釋-注釋switch()case:-注釋case:-注釋default:-注釋在其
37、他順序執(zhí)行的程序中,每隔3-5行語句,必須加一個注釋,注明這一段語句所組成的小模塊的作用。對于自己的一些比較獨特的思想要求在注釋中標明。3安全與調(diào)試開發(fā)后期,程序員還擔負著代碼的調(diào)試和漏斗檢測任務,其中就包括如下內(nèi)容 所有頁面要在800*600,1024*768兩種分辨率下運行通過; 所有頁面要在,以及下運行通過沒有javascript錯誤; 所有涉及刪除的操作,在用戶選定以后都要再進行一次確認操作; 檢查Sql漏洞,以及每個傳遞參數(shù),排除入侵可能性; 開發(fā)完畢后必須掛在工作機房調(diào)試經(jīng)內(nèi)部調(diào)試一周方可正式發(fā)布;附錄1規(guī)則【規(guī)則1】標識符應當直觀且可以拼讀,可望文知意,不必進行“解碼”。標識符最
38、好采用英文單詞或其組合,便于記憶和閱讀。切忌使用漢語拼音來命名。程序中的英文單詞一般不會太復雜,用詞應當準確。例如不要把CurrentValue寫成NowValue?!疽?guī)則2】標識符的長度應當符合“min-length&max-information”原則。幾十年前老ANSIC規(guī)定名字不準超過6個字符,現(xiàn)今的C+/C不再有此限制。一般來說,長名字能更好地表達含義,所以函數(shù)名、變量名、類名長達十幾個字符不足為怪。那么名字是否越長約好?不見得!例如變量名maxvalmaxValueUntilOverflow好用?!疽?guī)則3】命名規(guī)則盡量與所采用的操作系統(tǒng)或開發(fā)工具的風格保持一致。例如Windows應用程序的標識符通常采用“大小寫混排的方式,如AddChild。而Unix應用程序的標識符通常采用“小寫加下劃線
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 野生艾草收購合同范本
- 《李華解讀與營銷策略》課件
- 《當代包裝》課件
- 籃球運動全解析
- 科學的日常探秘
- 《紫外光譜和熒光光》課件
- 教育心理學在管理中的應用
- 健康之道 未來之光
- 加工機械設備合同范本
- 品牌合作店鋪合同范本
- 2025年安陽職業(yè)技術學院單招綜合素質(zhì)考試題庫及參考答案1套
- 11《認識多媒體技術》教學設計、教材分析與教學反思2024年滇人版初中信息技術七年級下冊
- 2025年湖南環(huán)境生物職業(yè)技術學院單招職業(yè)技能測試題庫一套
- 2025年湖南安全技術職業(yè)學院單招職業(yè)技能測試題庫參考答案
- DB3202-T 1063-2024 質(zhì)量基礎設施“-站式”服務與建設規(guī)范
- 2025年廣東省深圳法院招聘書記員招聘144人歷年高頻重點模擬試卷提升(共500題附帶答案詳解)
- 百所名校高一數(shù)學試卷
- 第九章-或有事項教學教材
- 2024年江西青年職業(yè)學院高職單招職業(yè)適應性測試歷年參考題庫含答案解析
- 2025年安徽省煙草專賣局(公司)招聘高頻重點提升(共500題)附帶答案詳解
- 2025年春新冀教版英語三年級下冊課件 2L2
評論
0/150
提交評論