} } }

    Java中的定名规矩

    添加时间:2013-8-5 点击量:

    1.   

    2.     

    3.   在面向对象编程中,对于类,对象,办法,变量等方面的定名是很是有技能的。比如,大小写的区分,应用不合字母开首等等。但究其本,追其源,在为一个资料其名称的时辰,应当本着描述性以及独一性这两大特点来定名,才干包管资料之间不冲突,并且每一个都便于记忆。   

    4.   

    5. 包的定名    

    6.   

    7.   Java包的名字都是由小写单词构成。然则因为Java面向对象编程的特点,每一名Java法度员都可以编写属于本身的Java包,为了保障每个Java包定名的独一性,在新的Java编程规范中,请求法度员在本身定义的包的名称之前加上独一的前缀。因为互联网上的域名称是不会反复的,所以法度员一般采取本身在互联网上的域名称作为本身法度包的独一前缀。   

    8.   例如: net.frontfree.javagroup   

    9.   

    10. 类的定名   

    11.   

    12.    类的名字必须由大写字母开首而单词中的其他字母均为小写;若是类名称由多个单词构成,则每个单词的首字母均应为大写例如TestPage;若是类名称中包含单词缩写,则这个所写词的每个字母均应大写,如:XMLExample,还有一点定名技能就是因为类是设计用来代表对象的,所以在定名类时应尽量选择名词。     

    13.   例如: Circle   

    14.   

    15. 办法的定名   

    16.   

    17.   办法的名字的第一个单词应以小写字母作为开首,后面的单词则用大写字母开首。  

    18.   例如: sendMessge   

    19.   

    20. 常量的定名  

    21.   

    22.   常量的名字应当都应用大写字母,并且指出该常量完全含义。若是一个常量名称由多个单词构成,则应当用下划线来分别这些单词。  

    23.   例如: MAX_VALUE  

    24.   

    25. 参数的定名  

    26.   

    27.   参数的定名规范和办法的定名规范雷同,并且为了避免浏览法度时造成困惑,请在尽量包管参数名称为一个单词的景象下使参数的定名尽可能明白。  

    28.   

    29. Javadoc注释  

    30.   

    31.   Java除了可以采取我们常见的注释体式格式之外,Java说话规范还定义了一种特别的注释,也就是我们所说的Javadoc注释,它是用来记录我们代码中的API的。Javadoc注释是一种多行注释,以/开首,而以/停止,注释可以包含一些HTML标识表记标帜符和专门的关键词。应用Javadoc注释的益处是编写的注释可以被主动转为在线文档,省去了零丁编写法度文档的麻烦。  

    32.   例如:   

    33.   

    34. / 

    35.  This is an example of 

    36.  Javadoc 

    37.  

    38.  @author darchon 

    39.  @version 0.1, 10/11/2002 

    40. /  

    41.   

    42.   在每个法度的开端项目组,一般都用Javadoc注释对法度的总体描述以及版权信息,之后在主法度中可认为每个类、接口、办法、字段添加Javadoc注释,每个注释的开首项目组先用一句话概括该类、接口、办法、字段所完成的功能,这句话应零丁占领一行以凸起其概括感化,在这句话后面可以跟从加倍具体的描述段落。在描述性段落之后还可以跟从一些以Javadoc注释标签开首的特别段落,例如上方例子中的@auther@version,这些段落将在生成文档中以特定体式格式显示。  

    43.   固然为一个设计低劣的法度添加注释不会使其变成好的法度,然则若是遵守编程规范编写法度并且为法度添加杰出的注释却可以帮助你编写出设计完美,运行效力高且易于懂得的法度,尤其是在多人合作完成同一项目时编程规范就变得加倍首要。俗话说“磨刀不误砍柴工”,花费一点时候去适应一下Java编程规范是有益处的。  




    Java代码   



    1. .NET中的定名规矩  

    2.   

    3.      

    4.   

    5. 名称空间的定名    

    6.   

    7.    定名名称空间的一般规矩如下:   

    8.    CompanyName.TechnologyName  

    9.   如许,我们看到的名称空间应当是如许的:    

    10.    Microsoft.Office  

    11.    PowerSoft.PowerBuilder                                  

    12.   

    13.   重视:这只是一个原则。第三方公司可以选择其它的名字。  

    14.   避免用公司名称或其它有名品牌的名称作为名称空间的前缀,如许会造成两个发布的名称空间有同一个名称的可能性。  

    15.   例如: 将微软供给的Office主动类定名为Microsoft.Office  

    16.   

    17.   应用Pascal大写体式格式,用逗号分隔逻辑成分。  

    18.   例如:Microsoft.Office.PowerPoint  

    19.   

    20.   若是你的品牌应用的长短传统大写体式格式,那么必然要遵守你的品牌所断定应用的大写体式格式,即使这种体式格式背离了凡是的名称空间大写规矩。  

    21.   例如:NeXT.WebObjects  

    22.      ee.cummings  

    23.   

    24.   

    25. 类和类成分的定名  

    26.   

    27.   类的定名原则是用名词或名词短语定名类,应用Pascal大写。削减类名中缩写的应用量。不要应用任何类前缀(比如C),不要应用带下划线的字符。  

    28.   例如:public class FileStream {}  

    29.       public class Button {}  

    30.       public class String {}   

    31.   

    32. 变量的定名  

    33.   

    34.   名称中各单词首字母均为大写。  

    35.   例如:FindLastRecord  

    36.       RedrawMyForm  

    37.   在内部局限中避免应用与外部局限中的名称雷同的名称。若接见错误变量,则会产生错误成果。若变量与同一名称的关键字冲突,则必须在关键字前加恰当的类型库以作标识。   

    38.   例如:如有一个名为 date 的变量,只能经由过程调用 System.Date 来应用内部 Date 函数。   

    39.   

    40. 函数和办法的定名  

    41.   

    42.   函数和办法的定名应当以动词开端,应用Pascal大写。不要应用带下划线的字符。  

    43.   例如:InitNameArray  

    44.       CloseDialog  

    45.   

    46. 接口定名原则  

    47.   

    48.   应用名词或名词短语,或者描述行动的形容词来定名接口,应用Pascal大写。 削减接口名中缩写的应用量,在接口名前加前缀I,以默示这个类型是一个接口。  

    49.    例如: IComponent(描述性名词)  

    50.        ICustomAttributeProvider(名词短语)  

    51.        IPersistable(形容词)  

    52.   

    53. 参数的定名     

    54.   

    55.   应用描述性参数名。参数名应当具有足够的描述性,如许在大多半景象下参数名和它的种类可以用来断定它的意思。按照参数的意思来定名参数,而不是按照参数的种类来定名。我们开辟对象可以用很便利的体式格式供给关于参数种类的信息,如许参数名可以获得更好的应用,可以对语义而不是对种类进行描述。然则无意应用按照类型定名的参数名也是完全可以的。不要应用保存参数。若是鄙人一个版本中须要更多的数据,可以增长进来。  

    56.   例如:Type GetType (string typeName)  

    57.      string Format (string format, object [ ] args)   

    58.   

    59. 属性的定名  

    60.   

    61.   用名词或名词短语定名属性,属性与类型要一样。 用与一个类型的名称雷同的名字来定名属性时,就使这个属性的类型成为那个类型。固然听起来有些新鲜,但这是正确的。   

    62.   例如:public enum Color {...}  

    63.       public class Control {  

    64.       public Color Color {get {...} set {...}}  

    65.       }  

    66.   

    67. 事务的定名  

    68.   

    69.   用EventHandloer后缀定名事务处理惩罚法度,应用名为sender和e的两个参数,Sender参数代表提出事务的对象。Sender参数永远是一个类型对象,即使它可能应用了更为特定的类型,与事务相干的状况被封装在一个名为e的事务类典范中。要应用这个类型的正确的、特定的事务类。   

    70.   例如:public delegate void MouseEventHandler(object sender, MouseEvent e);  

    71.   定名事务名时,须要有之前和之后的时态概念,是以要应用如今时态和畴昔时态(不要应用BeforeXxx\\AfterXxx的体式格式)。例如,可以被作废的停止事务就有Closing事务和Closed事务。   

    72.   

    73. 长项和常用项的定名  

    74.   

    75.   可应用缩写使名称长度适中,凡是,多于 32 个字符的变量名在低辨别率的把守器上难以浏览。同时,请确保缩写在全部应用法度中对峙一致。   

    76.   例如:可以应用“HTML”庖代“HyperText Markup Language”。  

    77.   

    78. 代码书写格局规范  

    79.   

    80. 文件之中不得存在无规矩的空行,比如说连气儿十个空行。一般来讲函数与函数之间的空行动2-3行。   

    81. 在函数体内部,在逻辑上自力的两个函数块可恰当空行,一般为1-2行。   

    82. 每行长度尽量避免跨越屏幕宽度,应不跨越80个字符。   

    83. 尽量用公共过程或子法度去庖代反复的功能代码段。   

    84. 应用括号清楚地表达算术表达式和逻辑表达式的运算次序。如将 x=ab/cd 写成 x=(ab/c)d可避免浏览者误会为x=(ab)/(cd)。   

    85. 避免采取过于错杂的前提测试。   

    86. 避免过多的轮回嵌套和前提嵌套。   

    87. 一个函数不要跨越200行。一个文件应避免跨越2000行。   

    88. 避免应用goto语句。   

    89. 避免采取多赋值语句,如x = y = z;。   

    90. 代码注释规范  

    91.   

    92.   .cs文件的注释  

    93.    所有.cs文件开首都要加上注释,写明文件创建时候、作者、用处概述等  

    94.   例如:   

    95.   

    96. //  

    97.   

    98. //新增日期:2004.7.19  

    99.   

    100. //作者:XXX   

    101.   

    102. //內容申明: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  

    103.   

    104. //  

    105.   

    106.   函数过程注释  

    107.   所有的函数体开首都要加上注释,所以注释应用.NET注释规范。  

    108.   例如:   

    109.   

    110. /// <summary>  

    111.   

    112. /// 机关函数  

    113.   

    114. /// </summary>  

    115.   

    116. /// <param name=is_xxx1>示例参数1</param>  

    117.   

    118. /// <param name=is_xxx2>示例参数2</param>  

    119.   

    120. public UpgradeThread(string is_xxx1, string is_xxx2)  

    121.   

    122. {  

    123.   

    124. //…  

    125. }  

    126.   

    127.   常量变量注释  

    128.   所有的常量变量,无论是全局还是局部应用的,凡是对代码整体起到关键性做用的都须要加上注释。  

    129.   例如:   

    130.   

    131. /// <summary>  

    132.   

    133. /// 当火线程指向的备份文件本地保存路径  

    134.   

    135. /// </summary>  

    136.   

    137. public string StorePath = ;  

    138.   

    139.   代码批改注释  

    140.   当开辟者保护以前的法度代码时,须要在批改处的开端及结尾,加上本身的注释信息。  

    141.   例如:   

    142.   

    143. //BEGIN 2004-7-19 Jayson 批改了XXX题目  

    144. 略…  

    145. //END 2004-7-19 Jayson  

    146.   

    147.    




    Java代码   



    1. PHP中的定名规矩   

    2.   

    3. 类的定名  

    4.   

    5.    在为类(class )定名前起首要知道它是什么。若是经由过程类名的供给的线索,还是想不起这个类是什么的话,那么就申明设计存在题目。  

    6.   跨越三个词构成的混淆名是轻易造成体系各个实体间的混合,测验测验应用(CRC Se- ssion card)看看该定名所对应的实体是否有着那么多的功用。   

    7.   对于派生类的定名应当避免带其父类名的诱惑,一个类的名字只与它自身有关,和它的父类叫什么无关。  

    8.   应用大写字母作为词的分隔,其他的字母均应用小写,名字的首字母应用大写 。不要应用下划线(_) 。  

    9.   例如: class NameOneTwo  

    10.       class Name  

    11.   

    12. 类库的定名  

    13.   

    14.   今朝定名空间正在越来越广泛的被采取,以避免不合厂商和集团类库间的类名冲突。当尚未采取定名空间的时辰,为了避免类名冲突,一般的做法是在类名前加上独特的前缀,两个字符就可以了,当然多用一些会更好。  

    15.   例如: John Johnson的数据布局类库可以用Jj做为前缀,如下:  

    16.       class JjLinkList   

    17.       {   

    18.       }   

    19.   

    20. 办法的定名  

    21.   

    22.    采取与类定名一致的规矩,同样是应用英文单词诠释出办法的感化。   

    23.   例如:class NameOneTwo   

    24.       {   

    25.       function DoIt() {};   

    26.       function HandleError() {};   

    27.       }   

    28.   

    29. 类属性的定名   

    30.   

    31.    属性定名应当以字符‘m’为前缀。前缀‘m’后采取于类定名一致的规矩。‘m’老是在名字的开首起润饰感化,就像以‘r’开首默示引用一样。   

    32.   前缀m防止类属性和办法名产生任何冲突。你的办法名和属性名经常会很类似,希罕是存取元素。   

    33.   例如:class NameOneTwo   

    34.       {   

    35.       function VarAbc() {};   

    36.       function ErrorNumber() {};   

    37.       var mVarAbc;   

    38.       var mErrorNumber;   

    39.       var mrName;   

    40.       }   

    41.   

    42. 办法中参数的定名  

    43.   

    44.    第一个字符应用小写字母。在首字符后的所有字都遵守类定名规矩首字符大写。   

    45.   如许做可以随时知道哪个变量对应哪个变量。别的,如许做可以应用与类名类似的名称而不至于产生重名冲突。  

    46.   例如:class NameOneTwo   

    47.       {   

    48.       function StartYourEngines(   

    49.       &¥rSomeEngine,   

    50.       &¥rAnotherEngine);   

    51.       }   

    52.   

    53. 变量的定名  

    54.   

    55.    所有字母都应用小写。应用_作为每个词的分界  

    56.   经由过程这一路子,代码中变量的感化域是清楚的。所有的变量在代码中都看起来不合,轻易辨认。   

    57.   例如:function HandleError(¥errorNumber)   

    58.       {   

    59.       ¥error = OsErr();   

    60.       ¥time_of_error = OsErr->getTimeOfError;   

    61.       ¥error_processor = OsErr->getErrorProcessor;   

    62.       }   

    63.   

    64. 全局变量的定名  

    65.   

    66.    全局变量应当带前缀‘g’。  

    67.   知道一个变量的感化域是很是首要的。   

    68.   例如:global ¥gLog;   

    69.       global &¥grLog;   

    70.   

    71. 函数的定名  

    72.   

    73.   函数名字采取C GNU的常规,所有的字母应用小写字母,应用_分别单词。  

    74.   如许可以更易于区分相接洽关系的类名。   

    75.   例如:function some_bloody_function()   

    76.       {   

    77.       }   

    78.   

    79.    


    NoahWeb中的定名规矩



      NoahWeb接收了各类编程说话的精华,经过反复的总结,终极形成了一套独特且高效的定名规矩。在定名的过程中,应用“资料名称+功能描述”的体式格式,包管了资料之间的独一性,并且大大进步了资料的描述性和浏览性。



    页面或动作传值定名规矩






    应用

    彼此相爱,却不要让爱成了束缚:不如让它成为涌动的大海,两岸乃是你们的灵魂。互斟满杯,却不要同饮一杯。相赠面包,却不要共食一个。一起歌舞欢喜,却依然各自独立,相互交心,却不是让对方收藏。因为唯有生命之手,方能收容你们的心。站在一起却不要过于靠近。—— 纪伯伦《先知》
    分享到: