1. Java中的命名规则 2. 3. 4. 在面向对象编程中,对于类,对象,方法,变量等方面的命名是非常有技巧的。比如,大小写的区分,使用不同字母开头等等。但究其本,追其源,在为一个资源其名称的时候,应该本着描述性以及唯一性这两大特征来命名,才能保证资源之间不冲突,并且每一个都便于记忆。 5. 6. 包的命名 7. 8. 9. Java包的名字都是由小写单词组成。但是由于Java面向对象编程的特性,每一名Java程序员都可以编写属于自己的Java包,为了保障每个Java包命名的唯一性,在最新的Java编程规范中,要求程序员在自己定义的包的名称之前加上唯一的前缀。由于互联网上的域名称是不会重复的,所以程序员一般采用自己在互联网上的域名称作为自己程序包的唯一前缀。 10. 例如: net.frontfree.javagroup 11. 12. 13. 类的命名 14. 15. 类的名字必须由大写字母开头而单词中的其他字母均为小写;如果类名称由多个单词组成,则每个单词的首字母均应为大写例如TestPage;如果类名称中包含单词缩写,则这个所写词的每个字母均应大写,如:XMLExample,还有一点命名技巧就是由于类是设计用来代表对象的,所以在命名类时应尽量选择名词。 16. 例如: Circle 17. 18. 方法的命名 19. 20. 方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头。 21. 例如: sendMessge 22. 23. 常量的命名 24. 25. 常量的名字应该都使用大写字母,并且指出该常量完整含义。如果一个常量名称由多个单词组成,则应该用下划线来分割这些单词。 26. 例如: MAX_VALUE 27. 28. 参数的命名 29. 30. 参数的命名规范和方法的命名规范相同,而且为了避免阅读程序时造成迷惑,请在尽量保证参数名称为一个单词的情况下使参数的命名尽可能明确。 31. 32. Javadoc注释 33. 34. Java除了可以采用我们常见的注释方式之外,Java语言规范还定义了一种特殊的注释,也就是我们所说的Javadoc注释,它是用来记录我们代码中的API的。Javadoc注释是一种多行注释,以结束,注释可以包含一些HTML标记符和专门的关键词。使用Javadoc注释的好处是编写的注释可以被自动转为在线文档,省去了单独编写程序文档的麻烦。 35. 例如: 36. 37. 38. 39. 在每个程序的最开始部分,一般都用Javadoc注释对程序的总体描述以及版权信息,之后在主程序中可以为每个类、接口、方法、字段添加Javadoc注释,每个注释的开头部分先用一句话概括该类、接口、方法、字段所完成的功能,这句话应单独占据一行以突出其概括作用,在这句话后面可以跟随更加详细的描述段落。在描述性段落之后还可以跟随一些以Javadoc注释标签开头的特殊段落,例如上面例子中的@auther和@version,这些段落将在生成文档中以特定方式显示。 40. 虽然为一个设计低劣的程序添加注释不会使其变成好的程序,但是如果按照编程规范编写程序并且为程序添加良好的注释却可以帮助你编写出设计完美,运行效率高且易于理解的程序,尤其是在多人合作完成同一项目时编程规范就变得更加重要。俗话说“磨刀不误砍柴工”,花费一点时间去适应一下Java编程规范是有好处的。 Java代码 file:///C:\Users\LAILIU~1\AppData\Local\Temp\ksohtml\wps53A2.tmp.jpg 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=a*b/c*d 写成 x=(a*b/c)*d可避免阅读者误解为x=(a*b)/(c*d)。 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代码 file:///C:\Users\LAILIU~1\AppData\Local\Temp\ksohtml\wps53C2.tmp.jpg 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汲取了各种编程语言的精华,经过反复的总结,最终形成了一套独特且高效的命名规则。在命名的过程中,使用“资源名称+功能描述”的方式,保证了资源之间的唯一性,并且大大提高了资源的描述性和阅读性。 页面或动作传值命名规则 字符资源命名规则 表单命名规则 数据库操作命名规则 | | | | | | | | | | | | | | | | | | | | | | user_U_ByIdChangePassword |
动作命名规则 | | | | 表名+所属功能+操作方式 [size=12.0000pt]([size=12.0000pt]
add:添加输入区显示[size=12.0000pt]
add_ex:添加执行[size=12.0000pt]
list:列表显示内容[size=12.0000pt]
search:搜索[size=12.0000pt]
viewinfo:显示详细信息[size=12.0000pt]
update_ex:更新执行[size=12.0000pt]
del: 删除执行[size=12.0000pt]
[size=12.0000pt]) | | | | | | | |
文件上传命名规则 cookie命名规则 Java代码 file:///C:\Users\LAILIU~1\AppData\Local\Temp\ksohtml\wps53E2.tmp.jpg 1. 网站文件命名规则 2. 3. 关于文件的命名,看似无足重轻,但实际上如果没有良好的命名规则进行必要的约束,一味的乱起名称,最终导致的结果就是整个网站或是文件夹无法管理。所以,命名规则在这里同样非常重要。 需要特别注意的时候,网站文件或文件夹命名请尽量避免使用中文字符命名。 4. 5. 文件的命名 6. 7. 以最少的字母达到最容易理解的意义。 8. 索引文件统一使用index.html文件名(小写) index.html文件统一作为"桥页",不制作具体内容,仅仅作为跳转页和meta标签页。主内容页为main.html。 9. 按菜单名的英语翻译取单一单词为名称。所有单英文单词文件名都必须为小写,所有组合英文单词文件名第二个起第一个字母大写; 所有文件名字母间连线都为下划线。 10. 例如: 关于我们 \aboutus 11. 信息反馈 \feedback 12. 产 品 \product 13. 14. 图片的命名 15. 16. 以图片英语字母为名。以最少的字母达到最容易理解的意义。 17. 对于较小的图片,我们使用如下格式的命名 : 18. sm.kahn.gif 19. 其中,sm 代表“small”,kahn 代表图片的内容。较大图像的命名规则也一样,不过是以 bg 开头的: 20. bg.kahn.gif 21. 用以区分不同图像的命名规则应当是全站通用的,这样可以尽量避免将不同的名称搅混。 22. 23. 网站目录的命名 24. 25. 目录建立的原则是以最少的层次提供最清晰简便的访问结构。 26. 服务器的ftp上传目录默认为html 根目录文件 根目录只允许存放index.html和main.html文件,以及其他必须的系统文件。 27. 每个语言版本存放于独立的目录。已有版本语言设置为: 简体中文 \gb 繁体中文 \big5 英 语 \en 日 语 \jp 每个主要功能(主菜单)建立一个相应的独立目录。 根目录下的images为存放公用图片目录,每个目录下私有图片存放于各自独立images目录. 28. 例如: \menu1\images 29. \menu2\images 30. 另外,所有的js文件存放在根目录下统一目录\script 所有的CSS文件存放在根目录下的style目录 所有的CGI程序存放在根目录并列目录\cgi_bin目录。 31. 对于一些信息更新量比较大的站点或是栏目,还可以采用一种更为特殊的方式来进行文件架的命名,这样能使得日后的维护更加方便,这样的方式就是使用“单一单词命名的目录”+“年年年年_月月_日日”的方式命名,最后的“日日”是根据更新量大小可选择的,如果每日更新量很大则可以加上“日日”。 32. 例如: \news\2005_08\ 33. \news\2005_09\ 34. \news\2005_10_12\ 35. 36.
|