日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
融于團(tuán)隊(duì)開(kāi)發(fā)你必須知道的B/S語(yǔ)言下常見(jiàn)命名規(guī)范

另外古人相信只要知道一個(gè)人真正的名字就會(huì)獲得凌駕于那個(gè)人之上的不可思議的力量。只要給事物想到正確的名字,它就可以帶來(lái)比代碼更強(qiáng)的力量。如果所有的命名都與其自然相適合,則關(guān)系清晰,含義可以推導(dǎo)得出,一般人的推想也能在意料之中。

成都創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站制作、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的輝南網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

本文我們將圍繞著“命名規(guī)則”這個(gè)主題展開(kāi)討論。收集各種B/S語(yǔ)言下常見(jiàn)命名規(guī)范,希望對(duì)各位開(kāi)發(fā)能有所幫助。

Java中的命名規(guī)則

在面向?qū)ο缶幊讨?,?duì)于類,對(duì)象,方法,變量等方面的命名是非常有技巧的。比如,大小寫(xiě)的區(qū)分,使用不同字母開(kāi)頭等等。但究其本,追其源,在為一個(gè)資源其名稱的時(shí)候,應(yīng)該本著描述性以及唯一性這兩大特征來(lái)命名,才能保證資源之間不沖突,并且每一個(gè)都便于記憶。

包的命名

Java包的名字都是由小寫(xiě)單詞組成。但是由于Java面向?qū)ο缶幊痰奶匦裕恳幻鸍ava程序員都可以編寫(xiě)屬于自己的Java包,為了保障每個(gè)Java包命名的唯一性,在***的Java編程規(guī)范中,要求程序員在自己定義的包的名稱之前加上唯一的前綴。由于互聯(lián)網(wǎng)上的域名稱是不會(huì)重復(fù)的,所以程序員一般采用自己在互聯(lián)網(wǎng)上的域名稱作為自己程序包的唯一前綴。

例如: net.frontfree.javagroup

類的命名

類的名字必須由大寫(xiě)字母開(kāi)頭而單詞中的其他字母均為小寫(xiě);如果類名稱由多個(gè)單詞組成,則每個(gè)單詞的首字母均應(yīng)為大寫(xiě)例如TestPage;如果類名稱中包含單詞縮寫(xiě),則這個(gè)所寫(xiě)詞的每個(gè)字母均應(yīng)大寫(xiě),如:XMLExample,還有一點(diǎn)命名技巧就是由于類是設(shè)計(jì)用來(lái)代表對(duì)象的,所以在命名類時(shí)應(yīng)盡量選擇名詞。

例如: Circle

方法的命名

方法的名字的***個(gè)單詞應(yīng)以小寫(xiě)字母作為開(kāi)頭,后面的單詞則用大寫(xiě)字母開(kāi)頭。

例如: sendMessge

常量的命名

常量的名字應(yīng)該都使用大寫(xiě)字母,并且指出該常量完整含義。如果一個(gè)常量名稱由多個(gè)單詞組成,則應(yīng)該用下劃線來(lái)分割這些單詞。

例如: MAX_VALUE

參數(shù)的命名

參數(shù)的命名規(guī)范和方法的命名規(guī)范相同,而且為了避免閱讀程序時(shí)造成迷惑,請(qǐng)?jiān)诒M量保證參數(shù)名稱為一個(gè)單詞的情況下使參數(shù)的命名盡可能明確。

Javadoc注釋

Java除了可以采用我們常見(jiàn)的注釋方式之外,Java語(yǔ)言規(guī)范還定義了一種特殊的注釋,也就是我們所說(shuō)的Javadoc注釋,它是用來(lái)記錄我們代碼中的API的。Javadoc注釋是一種多行注釋,以/**開(kāi)頭,而以*/結(jié)束,注釋可以包含一些HTML標(biāo)記符和專門(mén)的關(guān)鍵詞。使用Javadoc注釋的好處是編寫(xiě)的注釋可以被自動(dòng)轉(zhuǎn)為在線文檔,省去了單獨(dú)編寫(xiě)程序文檔的麻煩。

例如:

 
 
 
  1. /**  
  2. * This is an example of  
  3. * Javadoc  
  4. *  
  5. * @author darchon  
  6. * @version 0.1, 10/11/2002  
  7. */ 

在每個(gè)程序的最開(kāi)始部分,一般都用Javadoc注釋對(duì)程序的總體描述以及版權(quán)信息,之后在主程序中可以為每個(gè)類、接口、方法、字段添加Javadoc注釋,每個(gè)注釋的開(kāi)頭部分先用一句話概括該類、接口、方法、字段所完成的功能,這句話應(yīng)單獨(dú)占據(jù)一行以突出其概括作用,在這句話后面可以跟隨更加詳細(xì)的描述段落。在描述性段落之后還可以跟隨一些以Javadoc注釋標(biāo)簽開(kāi)頭的特殊段落,例如上面例子中的@auther和@version,這些段落將在生成文檔中以特定方式顯示。

雖然為一個(gè)設(shè)計(jì)低劣的程序添加注釋不會(huì)使其變成好的程序,但是如果按照編程規(guī)范編寫(xiě)程序并且為程序添加良好的注釋卻可以幫助你編寫(xiě)出設(shè)計(jì)***,運(yùn)行效率高且易于理解的程序,尤其是在多人合作完成同一項(xiàng)目時(shí)編程規(guī)范就變得更加重要。俗話說(shuō)“磨刀不誤砍柴工”,花費(fèi)一點(diǎn)時(shí)間去適應(yīng)一下Java編程規(guī)范是有好處的。

#p#

.NET中的命名規(guī)則

名稱空間的命名

命名名稱空間的一般規(guī)則如下:

CompanyName.TechnologyName

這樣,我們看到的名稱空間應(yīng)該是這樣的:

Microsoft.Office

PowerSoft.PowerBuilder

注意:這只是一個(gè)原則。第三方公司可以選擇其它的名字。

避免用公司名稱或其它著名品牌的名稱作為名稱空間的前綴,這樣會(huì)造成兩個(gè)公布的名稱空間有同一個(gè)名稱的可能性。

例如: 將微軟提供的Office自動(dòng)類命名為Microsoft.Office

使用Pascal大寫(xiě)方式,用逗號(hào)分隔邏輯成分。

例如:Microsoft.Office.PowerPoint

如果你的品牌使用的是非傳統(tǒng)大寫(xiě)方式,那么一定要遵循你的品牌所確定使用的大寫(xiě)方式,即使這種方式背離了通常的名稱空間大寫(xiě)規(guī)則。

例如:NeXT.WebObjects

            ee.cummings

類和類成分的命名

類的命名原則是用名詞或名詞短語(yǔ)命名類,使用Pascal大寫(xiě)。減少類名中縮寫(xiě)的使用量。不要使用任何類前綴(比如C),不要使用帶下劃線的字符。

例如:public class FileStream {}

            public class Button {}

            public class String {}

變量的命名

名稱中各單詞首字母均為大寫(xiě)。

例如:FindLastRecord

           RedrawMyForm

在內(nèi)部范圍中避免使用與外部范圍中的名稱相同的名稱。若訪問(wèn)錯(cuò)誤變量,則會(huì)產(chǎn)生錯(cuò)誤結(jié)果。若變量與同一名稱的關(guān)鍵字沖突,則必須在關(guān)鍵字前加適當(dāng)?shù)念愋蛶?kù)以作標(biāo)識(shí)。

例如:若有一個(gè)名為 date 的變量,只能通過(guò)調(diào)用 System.Date 來(lái)使用內(nèi)部 Date 函數(shù)。

函數(shù)和方法的命名

函數(shù)和方法的命名應(yīng)該以動(dòng)詞開(kāi)始,使用Pascal大寫(xiě)。不要使用帶下劃線的字符。

例如:InitNameArray

            CloseDialog

接口命名原則

使用名詞或名詞短語(yǔ),或者描述行為的形容詞來(lái)命名接口,使用Pascal大寫(xiě)。 減少接口名中縮寫(xiě)的使用量,在接口名前加前綴I,以表示這個(gè)類型是一個(gè)接口。

例如: IComponent(描述性名詞)

             ICustomAttributeProvider(名詞短語(yǔ))

             IPersistable(形容詞)

參數(shù)的命名

使用描述性參數(shù)名。參數(shù)名應(yīng)該具有足夠的描述性,這樣在大多數(shù)情況下參數(shù)名和它的種類可以用來(lái)確定它的意思。根據(jù)參數(shù)的意思來(lái)命名參數(shù),而不是根據(jù)參數(shù)的種類來(lái)命名。我們希望開(kāi)發(fā)工具可以用很方便的方式提供關(guān)于參數(shù)種類的信息,這樣參數(shù)名可以得到更好的使用,可以對(duì)語(yǔ)義而不是對(duì)種類進(jìn)行描述。但是偶爾使用根據(jù)類型命名的參數(shù)名也是完全可以的。不要使用保留參數(shù)。如果在下一個(gè)版本中需要更多的數(shù)據(jù),可以增加進(jìn)來(lái)。

例如:Type GetType (string typeName)

          string Format (string format, object [ ] args)

屬性的命名

用名詞或名詞短語(yǔ)命名屬性,屬性與類型要一樣。 用與一個(gè)類型的名稱相同的名字來(lái)命名屬性時(shí),就使這個(gè)屬性的類型成為那個(gè)類型。雖然聽(tīng)起來(lái)有些奇怪,但這是正確的。

例如:

 
 
 
  1. public enum Color {...}  
  2.       public class Control {  
  3.       public Color Color {get {...} set {...}}  
  4.       } 

事件的命名

用EventHandloer后綴命名事件處理程序,使用名為sender和e的兩個(gè)參數(shù),Sender參數(shù)代表提出事件的對(duì)象。Sender參數(shù)永遠(yuǎn)是一個(gè)類型對(duì)象,即使它可能使用了更為特定的類型,與事件相關(guān)的狀態(tài)被封裝在一個(gè)名為e的事件類范例中。要使用這個(gè)類型的正確的、特定的事件類。

例如

 
 
 
  1. public delegate void MouseEventHandler(object sender, MouseEvent e); 

命名事件名時(shí),需要有之前和之后的時(shí)態(tài)概念,因此要使用現(xiàn)在時(shí)態(tài)和過(guò)去時(shí)態(tài)(不要使用BeforeXxx\\AfterXxx的方式)。例如,可以被取消的結(jié)束事件就有Closing事件和Closed事件。

長(zhǎng)項(xiàng)和常用項(xiàng)的命名

可使用縮寫(xiě)使名稱長(zhǎng)度適中,通常,多于 32 個(gè)字符的變量名在低分辨率的監(jiān)視器上難以閱讀。同時(shí),請(qǐng)確??s寫(xiě)在整個(gè)應(yīng)用程序中保持一致。

例如:可以使用“HTML”代替“HyperText Markup Language”。

代碼書(shū)寫(xiě)格式規(guī)范

◆ 文件之中不得存在無(wú)規(guī)則的空行,比如說(shuō)連續(xù)十個(gè)空行。一般來(lái)講函數(shù)與函數(shù)之間的空行為2-3行。

◆ 在函數(shù)體內(nèi)部,在邏輯上獨(dú)立的兩個(gè)函數(shù)塊可適當(dāng)空行,一般為1-2行。

◆ 每行長(zhǎng)度盡量避免超過(guò)屏幕寬度,應(yīng)不超過(guò)80個(gè)字符。

◆ 盡量用公共過(guò)程或子程序去代替重復(fù)的功能代碼段。

◆ 使用括號(hào)清晰地表達(dá)算術(shù)表達(dá)式和邏輯表達(dá)式的運(yùn)算順序。如將 x=a*b/c*d 寫(xiě)成 x=(a*b/c)*d可避免閱讀者誤解為x=(a*b)/(c*d)。

◆ 避免采用過(guò)于復(fù)雜的條件測(cè)試。

◆ 避免過(guò)多的循環(huán)嵌套和條件嵌套。

◆ 一個(gè)函數(shù)不要超過(guò)200行。一個(gè)文件應(yīng)避免超過(guò)2000行。

◆ 避免使用goto語(yǔ)句。

◆ 避免采用多賦值語(yǔ)句,如x = y = z;。

代碼注釋規(guī)范

.cs文件的注釋

所有.cs文件開(kāi)頭都要加上注釋,寫(xiě)明文件創(chuàng)建時(shí)間、作者、用途概述等

例如:

 
 
 
  1. //********************************************************  
  2.  
  3. //新增日期:2004.7.19  
  4.  
  5. //作者:XXX  
  6.  
  7. //內(nèi)容說(shuō)明: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  
  8. //******************************************************** 

函數(shù)過(guò)程注釋

所有的函數(shù)體開(kāi)頭都要加上注釋,所以注釋使用.NET注釋規(guī)范。

例如:

 
 
 
  1. ///   
  2.  /// 構(gòu)造函數(shù)  
  3.  ///   
  4.  /// 示例參數(shù)1  
  5.  /// 示例參數(shù)2  
  6.  public UpgradeThread(string is_xxx1, string is_xxx2)  
  7.  {  
  8.  
  9. //…  

常量變量注釋

所有的常量變量,無(wú)論是全局還是局部使用的,凡是對(duì)代碼整體起到關(guān)鍵性做用的都需要加上注釋。

例如:

 
 
 
  1. ///   
  2. /// 當(dāng)前線程指向的備份文件本地保存路徑  
  3. ///   
  4. public string StorePath = ''; 

代碼修改注釋

當(dāng)開(kāi)發(fā)者維護(hù)以前的程序代碼時(shí),需要在修改處的開(kāi)始及結(jié)尾,加上自己的注釋信息。

例如:

 
 
 
  1. /BEGIN 2004-7-19 Jayson 修正了XXX問(wèn)題  
  2. 略…  
  3. //END 2004-7-19 Jayson 

#p#

PHP中的命名規(guī)則

類的命名

在為類(class )命名前首先要知道它是什么。如果通過(guò)類名的提供的線索,還是想不起這個(gè)類是什么的話,那么就說(shuō)明設(shè)計(jì)存在問(wèn)題。

超過(guò)三個(gè)詞組成的混合名是容易造成系統(tǒng)各個(gè)實(shí)體間的混淆,嘗試使用(CRC Se- ssion card)看看該命名所對(duì)應(yīng)的實(shí)體是否有著那么多的功用。

◆ 對(duì)于派生類的命名應(yīng)該避免帶其父類名的誘惑,一個(gè)類的名字只與它自身有關(guān),和它的父類叫什么無(wú)關(guān)。

◆ 使用大寫(xiě)字母作為詞的分隔,其他的字母均使用小寫(xiě),名字的首字母使用大寫(xiě) 。不要使用下劃線('_') 。

例如: class NameOneTwo

             class Name

類庫(kù)的命名

目前命名空間正在越來(lái)越廣泛的被采用,以避免不同廠商和團(tuán)體類庫(kù)間的類名沖突。當(dāng)尚未采用命名空間的時(shí)候,為了避免類名沖突,一般的做法是在類名前加上獨(dú)特的前綴,兩個(gè)字符就可以了,當(dāng)然多用一些會(huì)更好。

例如: John Johnson的數(shù)據(jù)結(jié)構(gòu)類庫(kù)可以用Jj做為前綴,如下:

 
 
 
  1. class JjLinkList   
  2.       {   
  3.       } 

方法的命名

采用與類命名一致的規(guī)則,同樣是使用英文單詞詮釋出方法的作用。

例如:

 
 
 
  1. class NameOneTwo   
  2.       {   
  3.       function DoIt() {};   
  4.       function HandleError() {};   
  5.       } 

類屬性的命名

屬性命名應(yīng)該以字符‘m’為前綴。前綴‘m’后采用于類命名一致的規(guī)則?!甿’總是在名字的開(kāi)頭起修飾作用,就像以‘r’開(kāi)頭表示引用一樣。

前綴'm'防止類屬性和方法名發(fā)生任何沖突。你的方法名和屬性名經(jīng)常會(huì)很類似,特別是存取元素。

例如:

 
 
 
  1. class NameOneTwo   
  2.       {   
  3.       function VarAbc() {};   
  4.       function ErrorNumber() {};   
  5.       var mVarAbc;   
  6.       var mErrorNumber;   
  7.       var mrName;   
  8.       } 

方法中參數(shù)的命名

***個(gè)字符使用小寫(xiě)字母。在首字符后的所有字都按照類命名規(guī)則首字符大寫(xiě)。

這樣做可以隨時(shí)知道哪個(gè)變量對(duì)應(yīng)哪個(gè)變量。另外,這樣做可以使用與類名相似的名稱而不至于產(chǎn)生重名沖突。

例如:

 
 
 
  1. class NameOneTwo   
  2.       {   
  3.       function StartYourEngines(   
  4.       &$rSomeEngine,   
  5.       &$rAnotherEngine);   
  6.       } 

變量的命名

所有字母都使用小寫(xiě)。使用'_'作為每個(gè)詞的分界

通過(guò)這一途徑,代碼中變量的作用域是清晰的。所有的變量在代碼中都看起來(lái)不同,容易辨認(rèn)。

例如:

 
 
 
  1. function HandleError($errorNumber)   
  2.       {   
  3.       $error = OsErr();   
  4.       $time_of_error = OsErr->getTimeOfError;   
  5.       $error_processor = OsErr->getErrorProcessor;   
  6.       } 

全局變量的命名

全局變量應(yīng)該帶前綴‘g’。

知道一個(gè)變量的作用域是非常重要的。

例如:global $gLog;

         global &$grLog;

函數(shù)的命名

函數(shù)名字采用C GNU的慣例,所有的字母使用小寫(xiě)字母,使用'_'分割單詞。

這樣可以更易于區(qū)分相關(guān)聯(lián)的類名。

例如:

 
 
 
  1. function some_bloody_function()   
  2.       {   
  3.       } 

#p#

NoahWeb中的命名規(guī)則

NoahWeb汲取了各種編程語(yǔ)言的精華,經(jīng)過(guò)反復(fù)的總結(jié),最終形成了一套獨(dú)特且高效的命名規(guī)則。在命名的過(guò)程中,使用“資源名稱+功能描述”的方式,保證了資源之間的唯一性,并且大大提高了資源的描述性和閱讀性。

頁(yè)面或動(dòng)作傳值命名規(guī)則

應(yīng)用規(guī)則示范
傳遞id使用pointidabc.aspx?pointid=123
傳遞name使用pointnameabc.aspx?pointname=xxx
搜索關(guān)鍵詞keywordabc.aspx?keyword=xxx
當(dāng)前頁(yè)索引pageabc.aspx?page=1

字符資源命名規(guī)則

應(yīng)用規(guī)則示范
針對(duì)表的列表命名list_表名[_功能名]list_user_view
手寫(xiě)數(shù)據(jù)庫(kù)操作集sql_[表名或功能名]sql_user_search

表單命名規(guī)則

應(yīng)用規(guī)則示范
表單id命名表名+功能userLogin
輸入?yún)^(qū)控件id命名form+對(duì)應(yīng)數(shù)據(jù)庫(kù)的列名formId;formname

數(shù)據(jù)庫(kù)操作命名規(guī)則

應(yīng)用規(guī)則示范
  user_S_ById
  user_S_ByName
  user_S_Pagelist
查詢表名_S_條件+功能說(shuō)明user_S_ByNamePagelist
  user_S_ByNameSearch
  user_S_ByIdTopTen
  user_S_ByDateTopTen
  user_S_ByDateTopFive
  user_S_ByDateTopSet
刪除表名_D_條件+功能說(shuō)明user_D_ById
插入表名_I_+功能說(shuō)明user_I_NewData
更新表名_U_條件+功能說(shuō)明user_U_ByIdChangePassword

動(dòng)作命名規(guī)則

應(yīng)用規(guī)則示范
動(dòng)作命名表名+所屬功能+操作方式


add:添加輸入?yún)^(qū)顯示
add_ex:添加執(zhí)行
list:列表顯示內(nèi)容
search:搜索
viewinfo:顯示詳細(xì)信息
update_ex:更新執(zhí)行
del: 刪除執(zhí)行
)

user_manager_add

user_manager_add_ex

user_manager_list

user_manager_search

user_manager_viewInfo

user_manager_update_ex

user_manager_del

文件上傳命名規(guī)則

應(yīng)用規(guī)則示范
表單文件上傳區(qū)命名規(guī)則myfile+編號(hào)

myfile1

myfile2

myfile3

cookie命名規(guī)則

應(yīng)用規(guī)則示范
變量名命名cookie+變量名cookieusername

#p#

網(wǎng)站文件命名規(guī)則

關(guān)于文件的命名,看似無(wú)足重輕,但實(shí)際上如果沒(méi)有良好的命名規(guī)則進(jìn)行必要的約束,一味的亂起名稱,最終導(dǎo)致的結(jié)果就是整個(gè)網(wǎng)站或是文件夾無(wú)法管理。所以,命名規(guī)則在這里同樣非常重要。 需要特別注意的時(shí)候,網(wǎng)站文件或文件夾命名請(qǐng)盡量避免使用中文字符命名

文件的命名

以最少的字母達(dá)到最容易理解的意義。

索引文件統(tǒng)一使用index.html文件名(小寫(xiě)) index.html文件統(tǒng)一作為"橋頁(yè)",不制作具體內(nèi)容,僅僅作為跳轉(zhuǎn)頁(yè)和meta標(biāo)簽頁(yè)。主內(nèi)容頁(yè)為main.html。

按菜單名的英語(yǔ)翻譯取單一單詞為名稱。所有單英文單詞文件名都必須為小寫(xiě),所有組合英文單詞文件名第二個(gè)起***個(gè)字母大寫(xiě); 所有文件名字母間連線都為下劃線。

例如: 關(guān)于我們 \aboutus

            信息反饋 \feedback

            產(chǎn)  品 \product

圖片的命名

以圖片英語(yǔ)字母為名。以最少的字母達(dá)到最容易理解的意義。

對(duì)于較小的圖片,我們使用如下格式的命名 :

sm.kahn.gif

其中,sm 代表“small”,kahn 代表圖片的內(nèi)容。較大圖像的命名規(guī)則也一樣,不過(guò)是以 bg 開(kāi)頭的:

bg.kahn.gif

用以區(qū)分不同圖像的命名規(guī)則應(yīng)當(dāng)是全站通用的,這樣可以盡量避免將不同的名稱攪混。

網(wǎng)站目錄的命名

目錄建立的原則是以最少的層次提供最清晰簡(jiǎn)便的訪問(wèn)結(jié)構(gòu)。

服務(wù)器的ftp上傳目錄默認(rèn)為html 根目錄文件 根目錄只允許存放index.html和main.html文件,以及其他必須的系統(tǒng)文件。

每個(gè)語(yǔ)言版本存放于獨(dú)立的目錄。已有版本語(yǔ)言設(shè)置為: 簡(jiǎn)體中文 \gb 繁體中文 \big5 英 語(yǔ) \en 日 語(yǔ) \jp 每個(gè)主要功能(主菜單)建立一個(gè)相應(yīng)的獨(dú)立目錄。 根目錄下的images為存放公用圖片目錄,每個(gè)目錄下私有圖片存放于各自獨(dú)立images目錄.

例如: \menu1\images

            \menu2\images

另外,所有的js文件存放在根目錄下統(tǒng)一目錄\script 所有的CSS文件存放在根目錄下的style目錄 所有的CGI程序存放在根目錄并列目錄\cgi_bin目錄。

對(duì)于一些信息更新量比較大的站點(diǎn)或是欄目,還可以采用一種更為特殊的方式來(lái)進(jìn)行文件架的命名,這樣能使得日后的維護(hù)更加方便,這樣的方式就是使用“單一單詞命名的目錄”+“年年年年_月月_日日”的方式命名,***的“日日”是根據(jù)更新量大小可選擇的,如果每日更新量很大則可以加上“日日”。

例如: \news\2005_08\

           \news\2005_09\

            \news\2005_10_12\

#p#

Dreamweaver文件的命名規(guī)則

在Dreamweaver中用戶可以對(duì)一系列不同類型的對(duì)象進(jìn)行命名,這些對(duì)象包括圖片、層、表單、文件、數(shù)據(jù)庫(kù)域等,這些對(duì)象將會(huì)被許多不同的工作引擎進(jìn)行分析處理,這些工具包括各種瀏覽器、JavaScript腳本解析器、網(wǎng)絡(luò)服務(wù)器、應(yīng)用程序服務(wù)器、查詢語(yǔ)言等等。

如果某個(gè)對(duì)象的名稱無(wú)法被某個(gè)解析器識(shí)別,就有可能會(huì)導(dǎo)致故障的發(fā)生,更加麻煩的是用戶可能很難發(fā)現(xiàn)問(wèn)題的原因,例如某個(gè)具體的特效無(wú)法正確顯示,或者是在某個(gè)特殊階段無(wú)法正確顯示,有時(shí)故障可能只會(huì)在某種特殊情況或在使用某個(gè)瀏覽器時(shí)發(fā)生,而在其它情況下保持正常,用戶將很難分析出故障是由于命名問(wèn)題而導(dǎo)致的。

由于需要命名的對(duì)象的種類很多,對(duì)這些對(duì)象進(jìn)行解析的引擎工具也很多,因此用戶在給這些對(duì)象命名時(shí)應(yīng)該遵循一個(gè)常規(guī)的標(biāo)準(zhǔn),以確保普遍兼容性。命名的基本原則就是:使用***的、小寫(xiě)、不帶空格的名稱,名稱應(yīng)由字母和數(shù)字組成,并以字母開(kāi)始,名稱中可以包含"_"符號(hào)。

***

請(qǐng)確保某對(duì)象的名稱與其它對(duì)象不同,保證其***的屬性。

例如: 你可以將某對(duì)象命名為"feedback_button_3"

小寫(xiě)

有些服務(wù)器和腳本解析器對(duì)文件名的大小寫(xiě)也進(jìn)行檢查,而為了避免因大小寫(xiě)引起的不兼容問(wèn)題,建議用戶在命名時(shí)全部使用小寫(xiě)文件名。

不帶空格

不同的解析器對(duì)空格等符號(hào)的解析結(jié)果不同,例如某些解析器會(huì)把空格視為某個(gè)十六進(jìn)制的數(shù)值,因此建議用戶使用不帶空格的單詞做為文件對(duì)象的名稱。

詞數(shù)混合

用戶在命名中可以隨意使用26個(gè)羅馬字母以及10個(gè)阿拉伯?dāng)?shù)字,而不建議使用其它標(biāo)點(diǎn)符號(hào)。

以字母開(kāi)始

有些解析器不喜歡以數(shù)字開(kāi)頭的文件名。

例如: 在某些瀏覽器中的JavaScript腳本內(nèi)部,如果使用"alpha23"這樣的名稱就不會(huì)出現(xiàn)問(wèn)題,而如果使用"23alpha"這樣的名稱就可能會(huì)發(fā)生故障。

可包含"_"符號(hào)

為了使某個(gè)對(duì)象的文件名***,用戶可以通過(guò)使用"_"符號(hào)來(lái)更加詳細(xì)地描述文件名。

例如: 某對(duì)象的文件名可以是"jd_background_17"。

除了上述原則標(biāo)準(zhǔn)之外,我們還需要注意一些其它情況,如文件名與系統(tǒng)的沖突。某些文件名可能滿足上述標(biāo)準(zhǔn),但可能還會(huì)導(dǎo)致故障的發(fā)生,原因是因?yàn)樗鼈兣c系統(tǒng)產(chǎn)生了沖突。

例如:當(dāng)在使用JavaScript腳本函數(shù)時(shí),不建議用戶將某個(gè)變量命名為"for",因?yàn)?for"在本系統(tǒng)下是一個(gè)工作語(yǔ)言字串,使用其命名某個(gè)變量可能會(huì)導(dǎo)致解析器工作出錯(cuò)。許多程序都有一些保留名稱,這些名稱一般不建議用戶使用。

例如:用戶使用某個(gè)SQL程序保留的名稱來(lái)命名某個(gè)數(shù)據(jù)庫(kù)域,SQL對(duì)其進(jìn)行分析時(shí)就可能會(huì)報(bào)錯(cuò)。

此外,用戶在將不同來(lái)源的代碼編到一起時(shí),應(yīng)該注意文件名的沖突情況。

例如: 用戶把來(lái)自不同資源的兩個(gè)JavaScript行為代碼編至同一網(wǎng)頁(yè)內(nèi),而這兩個(gè)行為代碼的變量名相同,這時(shí)就有可能出現(xiàn)問(wèn)題。

因此做為查詢故障的一個(gè)技巧,在出現(xiàn)故障時(shí),用戶可以查詢一下相同網(wǎng)頁(yè)中是否存在相同文件名的變量名稱。

#p#

VBScript中的命名規(guī)則

常數(shù)命名規(guī)則

VBScript 的早期版本不允許創(chuàng)建用戶自定義常數(shù)。如果要使用常數(shù),則常數(shù)以變量的方式實(shí)現(xiàn),且全部字母大寫(xiě)以和其他變量區(qū)分。常數(shù)名中的多個(gè)單詞用下劃線 (_) 分隔。

例如: USER_LIST_MAX 、NEW_LINE

這種標(biāo)識(shí)常數(shù)的方法依舊可行,但您還可以選擇其他方案,用 Const 語(yǔ)句創(chuàng)建真正的常數(shù)。這個(gè)約定使用大小寫(xiě)混合的格式,并以con”作為常數(shù)名的前綴。

例如: conYourOwnConstant

變量命名規(guī)則

出于易讀和一致性的目的,請(qǐng)?jiān)?VBScript 代碼中使用以下變量命名約定:

子類型前綴示例
BooleanblnblnFound
BytebytbytRasterData
Date (Time)dtmdtmStart
DoubledbldblTolerance
ErrorerrerrOrderNum
IntegerintintQuantity
LonglnglngDistance
ObjectobjobjCurrent
SinglesngsngAverage
StringstrstrFirstName

變量作用域命名規(guī)則

變量應(yīng)定義在盡量小的作用域中。VBScript 變量的作用域如下所示:

變量作用域前綴命名規(guī)則

作用域前綴示例
過(guò)程級(jí)無(wú)dblVelocity
Script 級(jí)ssblnCalcInProgress

隨著腳本代碼長(zhǎng)度的增加,有必要快速區(qū)分變量的作用域。在類型前綴前面添加一個(gè)單字符前綴可以實(shí)現(xiàn)這一點(diǎn),而不致使變量名過(guò)長(zhǎng)。

描述性變量名和過(guò)程名的命名規(guī)則

變量名或過(guò)程名的主體應(yīng)使用大小寫(xiě)混合格式,并且盡量完整地描述其目的。另外,過(guò)程名應(yīng)以動(dòng)詞開(kāi)始,例如 InitNameArray 或 CloseDialog。

對(duì)于經(jīng)常使用的或較長(zhǎng)的名稱,推薦使用標(biāo)準(zhǔn)縮寫(xiě)以使名稱保持在適當(dāng)?shù)拈L(zhǎng)度內(nèi)。通常多于 32 個(gè)字符的變量名會(huì)變得難以閱讀。使用縮寫(xiě)時(shí),應(yīng)確保在整個(gè)腳本中保持一致。例如,在一個(gè)腳本或腳本集中隨意切換 Cnt 和 Count 將造成混亂。

對(duì)象命名規(guī)則

下表列出了 VBScript 中可能用到的對(duì)象命名約定(推薦):

對(duì)象類型前綴示例
3D 面板pnlpnlGroup
動(dòng)畫(huà)按鈕anianiMailBox
復(fù)選框chkchkReadOnly
組合框、下拉列表框cbocboEnglish
命令按鈕cmdcmdExit
公共對(duì)話框dlgdlgFileOpen
框架frafraLanguage
水平滾動(dòng)條hsbhsbVolume
圖像imgimgIcon
標(biāo)簽lbllblHelpMessage
直線linlinVertical
列表框lstlstPolicyCodes
旋鈕spnspnPages
文本框txttxtLastName
垂直滾動(dòng)條vsbvsbRate
滑塊sldsldScale

代碼注釋規(guī)則

所有過(guò)程的開(kāi)始部分都應(yīng)有描述其功能的簡(jiǎn)要注釋。這些注釋并不描述細(xì)節(jié)信息(如何實(shí)現(xiàn)功能),這是因?yàn)榧?xì)節(jié)有時(shí)要頻繁更改。這樣就可以避免不必要的注釋維護(hù)工作以及錯(cuò)誤的注釋。細(xì)節(jié)信息由代碼本身及必要的內(nèi)部注釋來(lái)描述。

當(dāng)傳遞給過(guò)程的參數(shù)的用途不明顯,或過(guò)程對(duì)參數(shù)的取值范圍有要求時(shí),應(yīng)加以說(shuō)明。如果過(guò)程改變了函數(shù)和變量的返回值(特別是通過(guò)參數(shù)引用來(lái)改變),也應(yīng)在過(guò)程的開(kāi)始部分描述該返回值。

過(guò)程開(kāi)始部分的注釋?xiě)?yīng)包含以下區(qū)段標(biāo)題。相關(guān)樣例,請(qǐng)參閱后面的“格式化代碼”部分。

區(qū)段標(biāo)題注釋內(nèi)容
目的過(guò)程的功能(不是實(shí)現(xiàn)功能的方法)。
假設(shè)其狀態(tài)影響此過(guò)程的外部變量、控件或其他元素的列表。
效果過(guò)程對(duì)每個(gè)外部變量、控件或其他元素的影響效果的列表。
輸入每個(gè)目的不明顯的參數(shù)的解釋。每個(gè)參數(shù)都應(yīng)占據(jù)單獨(dú)一行并有其內(nèi)部注釋。
返回返回值的解釋。

請(qǐng)記住以下幾點(diǎn):

◆ 每個(gè)重要的變量聲明都應(yīng)有內(nèi)部注釋,描述變量的用途。

◆ 應(yīng)清楚地命名變量、控件和過(guò)程,僅在說(shuō)明復(fù)雜細(xì)節(jié)時(shí)需要內(nèi)部注釋。

◆ 應(yīng)在腳本的開(kāi)始部分包含描述該腳本的概述,列舉對(duì)象、過(guò)程、運(yùn)算法則、對(duì)話框和其他系統(tǒng)從屬物。有時(shí)一段描述運(yùn)算法則的假碼是很有用的。

格式化代碼

應(yīng)盡可能多地保留屏幕空間,但仍允許用代碼格式反映邏輯結(jié)構(gòu)和嵌套。以下為幾點(diǎn)提示:

◆ 標(biāo)準(zhǔn)嵌套塊應(yīng)縮進(jìn) 4 個(gè)空格。

◆ 過(guò)程的概述注釋?xiě)?yīng)縮進(jìn) 1 個(gè)空格。

◆ 概述注釋后的***層語(yǔ)句應(yīng)縮進(jìn) 4 個(gè)空格,每一層嵌套塊再縮進(jìn) 4 個(gè)空格。例如:

 
 
 
  1. '*********************************************************  
  2. ' 目的:    返回指定用戶在 UserList 數(shù)組中***次出現(xiàn)的位置。  
  3. ' 輸入:    strUserList():   所查找的用戶列表。  
  4. '           strTargetUser:   要查找的用戶名。  
  5. ' 返回:    strTargetUser 在 strUserList 數(shù)組中***次出現(xiàn)時(shí)的索引。  
  6. '           如果目標(biāo)用戶未找到,返回 -1。  
  7. '*********************************************************  
  8.  
  9. Function intFindUser (strUserList(), strTargetUser)  
  10.     Dim i                     ' 循環(huán)計(jì)數(shù)器。  
  11.     Dim blnFound           ' 發(fā)現(xiàn)目標(biāo)的標(biāo)記。  
  12.     intFindUser = -1  
  13.     i = 0                     ' 初始化循環(huán)計(jì)數(shù)器。  
  14.     Do While i <= Ubound(strUserList) and Not blnFound  
  15.         If strUserList(i) = strTargetUser Then   
  16.             blnFound = True   ' 標(biāo)記設(shè)為 True。  
  17.             iintFindUser = i   ' 返回值設(shè)為循環(huán)計(jì)數(shù)器。  
  18.         End If  
  19.         ii = i + 1             ' 循環(huán)計(jì)數(shù)器加 1。  
  20.     Loop  
  21. End Function 

#p#

CSS類及id中的命名規(guī)則

Web開(kāi)發(fā)人員可以通過(guò)創(chuàng)建CSS類及id名稱并使用這些名稱來(lái)對(duì)divs以及其他的格式頁(yè)面元素進(jìn)行標(biāo)識(shí)。對(duì)開(kāi)發(fā)人員來(lái)說(shuō),在命名重新定義XHTML標(biāo)記(tags)的CSS selectors時(shí),必須保證其與預(yù)定義的標(biāo)記準(zhǔn)確匹配,但就類以及id選擇器名稱而言,則仁者見(jiàn)仁,智者見(jiàn)智。然而隨心所欲的為這些類以及id命名則并不是個(gè)好的習(xí)慣。

直觀命名

當(dāng)在設(shè)計(jì)Web頁(yè)面以及需要對(duì)一個(gè)div進(jìn)行標(biāo)識(shí)的時(shí)候,最自然的想法就是使用可以描述元素所在頁(yè)面位置的詞匯來(lái)對(duì)其命名。

例如:top-panel

          horizontal-nav

          left-side

          center-column

          right-col

這些是CSS以及XHTML類和id的有效命名方式。這些詞匯簡(jiǎn)單并且能夠使人顧名思義,因此滿足了標(biāo)識(shí)頁(yè)面元素以及相應(yīng)的CSS樣式的需要。

但問(wèn)題是這樣的名稱同頁(yè)面內(nèi)容的特定表達(dá)方式相關(guān)聯(lián)。這些命名參考了某種特定頁(yè)面布局中的頁(yè)面元素位置,因此在這樣的布局之外使用就會(huì)顯得不合適甚至造成理解混亂。這些命名沒(méi)有涉及文檔內(nèi)容的結(jié)構(gòu)。因此,下面給出了對(duì)CSS類以及ID命名更好的方法。

結(jié)構(gòu)化命名

這些是CSS以及XHTML類和id的有效命名方式。這些詞匯簡(jiǎn)單并且能夠使人顧名思義,因此滿足了標(biāo)識(shí)頁(yè)面元素以及相應(yīng)的CSS樣式的需要。 這些是CSS以及XHTML類和id的有效命名方式。這些詞匯簡(jiǎn)單并且能夠使人顧名思義,因此滿足了標(biāo)識(shí)頁(yè)面元素以及相應(yīng)的CSS樣式的需要。

有標(biāo)記的相關(guān)信息都是用來(lái)描述文檔的結(jié)構(gòu)而不是外觀。這樣的特點(diǎn)使得我們可以通過(guò)簡(jiǎn)單的改變CSS的方式來(lái)對(duì)不同外觀格式下的內(nèi)容(content)以及標(biāo)記(markup)進(jìn)行重用。當(dāng)你理解這種方式時(shí),很容易就可以發(fā)現(xiàn)采用頁(yè)面位置來(lái)為類以及id命名的方式在處理如音頻(audio)等外觀格式上顯得非常不合適。因此,應(yīng)當(dāng)根據(jù)在文檔中的使用目的而非出現(xiàn)位置來(lái)對(duì)類以及id進(jìn)行結(jié)構(gòu)化命名。

可以按照如下所示的結(jié)構(gòu)化方式來(lái)對(duì)類以及id名稱命名:

例如:branding

          main-nav

          subnav

         main-content

         sidebar

這些名字同直觀命名方式一樣非常易懂,但他們描述了頁(yè)面元素的作用而非位置。這使得代碼更加符合使用純粹的結(jié)構(gòu)化標(biāo)記(structural markup)的初衷,即開(kāi)發(fā)人員可以在不改變標(biāo)記的情況下對(duì)各種各樣媒體下的顯示格式進(jìn)行處理。

即使你不打算在其他的媒體上對(duì)Web頁(yè)面進(jìn)行格式修改,使用結(jié)構(gòu)化命名方式還可以幫助你在日后的站點(diǎn)升級(jí)或重新設(shè)計(jì)中更為輕松。例如,結(jié)構(gòu)化命名避免了當(dāng)一個(gè)div同id right-column移動(dòng)到頁(yè)面左邊后所帶來(lái)的混亂。對(duì)div sidebar的采用這樣的命名方式就顯得更加適當(dāng),因?yàn)闊o(wú)論它出現(xiàn)在頁(yè)面的哪一邊,這個(gè)名字仍然對(duì)開(kāi)發(fā)人員來(lái)說(shuō)直觀易懂。

慣例

Andy Clarke分析了40份由推崇標(biāo)準(zhǔn)化Web設(shè)計(jì)理念的開(kāi)發(fā)人員所設(shè)計(jì)的Web站點(diǎn)的源代碼。盡管類以及id名稱很不統(tǒng)一,但是還是發(fā)現(xiàn)了一些頻繁出現(xiàn)的常用名稱。這里給出了最常用類/id名稱的示例列表:

例如:header

          content

          nav

           sidebar

          footer

#p#

數(shù)據(jù)庫(kù)中的命名規(guī)則

數(shù)據(jù)庫(kù)涉及字符規(guī)則

采用26個(gè)英文字母(區(qū)分大小寫(xiě))和0 -9這十個(gè)自然數(shù),加上下劃線_組成,共63個(gè)字符。不能出現(xiàn)其他字符(注釋除外)。

據(jù)庫(kù)對(duì)象命名規(guī)則

數(shù)據(jù)庫(kù)對(duì)象包括表、視圖(查詢)、存儲(chǔ)過(guò)程(參數(shù)查詢)、函數(shù)、約束。對(duì)象名字由前綴和實(shí)際名字組成,長(zhǎng)度不超過(guò)30。前綴:使用小寫(xiě)字母。

例如:

tb
視圖vi
存儲(chǔ)過(guò)程sp
函數(shù)fn

實(shí)際名字

實(shí)際名字盡量描述實(shí)體的內(nèi)容,由單詞或單詞組合,每個(gè)單詞的首字母大寫(xiě),其他字母小寫(xiě),不以數(shù)字和_開(kāi)頭。

例如:

User_Info
視圖UserList
存儲(chǔ)過(guò)程UserDelete

因此,合法的對(duì)象名字類似如下。

tbUser_Info、tbMessage_Detail
視圖vi_MessageList
存儲(chǔ)過(guò)程sp_MessageAdd

數(shù)據(jù)庫(kù)表命名規(guī)則

字段由前綴和實(shí)際名字組成。實(shí)際名字中首單詞一個(gè)系統(tǒng)盡量采取同一單詞。

前綴:使用小寫(xiě)字母tb,表示表。

例如:

tbMember

tbMember_Info

tbForum_Board

tbForum_Thread1

字段命名規(guī)則

數(shù)字、字符、日期/時(shí)間、lob(大對(duì)象)、雜項(xiàng),字段由表的簡(jiǎn)稱、下劃線,實(shí)際名字加后綴組成。

后綴:使用小寫(xiě)字母,代表該字段的屬性。

例如:

User_Idint

User_Namestr

User_RegDatedtm

視圖命名規(guī)則

字段由前綴和實(shí)際名字組成,中間用下劃線連接。

前綴:使用小寫(xiě)字母vi,表示視圖。

例如:

vi_User

vi_UserInfo

存儲(chǔ)過(guò)程命名規(guī)則

字段由前綴和實(shí)際名字組成,中間用下劃線連接。

前綴:使用小寫(xiě)字母sp,表示存儲(chǔ)過(guò)程。

例如:sp_User

數(shù)據(jù)庫(kù)設(shè)計(jì)文檔規(guī)則

所有數(shù)據(jù)庫(kù)設(shè)計(jì)要寫(xiě)成文檔,文檔以模塊化形式表達(dá)。大致格式如下:

'-------------------------------------------

'  表名:  tbUser_Info

'  建立人:UAM_Richard

'  日期:  2004-12-17

'  版本:  1.0

'  描述:  保存用戶資料

'  具體內(nèi)容:

'  UserId  int,自動(dòng)增量  用戶代碼

'  UserName  char(12)  用戶名字

'  ......

'--------------------------------------------

sql語(yǔ)句規(guī)則

所有sql關(guān)鍵詞全部大寫(xiě),比如SELECT,UPDATE,FROM,ORDER,BY等。

后記:

良好的命名對(duì)于軟件開(kāi)發(fā)起著至關(guān)重要的作用,能夠?qū)Y源進(jìn)行合理的命名,可以達(dá)到事半功倍的效果。無(wú)論是哪種命名規(guī)則,無(wú)論是對(duì)哪種資源進(jìn)行命名,其核心思想都是“用最少的字母進(jìn)行最全面的描述”。正如本文開(kāi)始時(shí)強(qiáng)調(diào)的,“唯一性+描述性”是命名的靈魂。所以,在您對(duì)程序的各個(gè)方面進(jìn)行命名的時(shí)候,不妨去參照著這兩大原則去進(jìn)行,切記不可圖一時(shí)之快,卻為日后的修改或維護(hù)帶來(lái)巨大的困難。

原文鏈接:http://www.blueidea.com/articleimg/magazine/noahweb/4/


當(dāng)前名稱:融于團(tuán)隊(duì)開(kāi)發(fā)你必須知道的B/S語(yǔ)言下常見(jiàn)命名規(guī)范
文章網(wǎng)址:http://m.5511xx.com/article/dpoioic.html