JAVA程序员不不注意的编码规范.docVIP

  • 2
  • 0
  • 约5.39千字
  • 约 7页
  • 2016-11-22 发布于贵州
  • 举报
JAVA程序员不不注意的编码规范

最近经常看一些朋友写的源代码,总是感觉编码规范问题还没有成为大家的关注点,导致代码的通用可读性相对比较差; 所以在此唠叨几句编码规范(以struts2+spring2+hibernate3架构的项目为例),大家各取所需,欢迎拍砖! 一、规范存在的意义 ??? 应用编码规范对于软件本身和软件开发人员而言尤为重要,有以下几个原因: ??? 1、好的编码规范可以尽可能的减少一个软件的维护成本 , 并且几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护; ??? 2、好的编码规范可以改善软件的可读性,可以让开发人员尽快而彻底地理解新的代码; ??? 3、好的编码规范可以最大限度的提高团队开发的合作效率; ??? 4、长期的规范性编码还可以让开发人员养成好的编码习惯,甚至锻炼出更加严谨的思维; 二、命名规范 ??? 1、一般概念 ??????? 1、尽量使用完整的英文描述符 ??? ??? 2、采用适用于相关领域的术语 ??? ??? 3、采用大小写混合使名字可读 ??? ??? 4、尽量少用缩写,但如果用了,必须符合整个工程中的统一定义 ??? ??? ??? ??? 5、避免使用长的名字(小于 15 个字母为正常选择) ??? ??? 6、避免使用类似的名字,或者仅仅是大小写不同的名字 ??? ??? 7、避免使用下划线(除静态常量等) ???? 2、标识符类型说明 ??????? 1、包( Package )的命名 ??? ??? ??? Package 的名字应该采用完整的英文描述符,都是由一个小写单词组成。并且包名的前缀总是一个顶级域名, ??? ??? ??? 通常是 com、edu、gov、mil、net、org 等; ??? ??? ??? 如: com.yjhmily.test ??? ??? 2、类( Class )的命名 ??? ??? ??? 类名应该是个一名词,采用大小写混合的方式,每个单词的首字母大写。尽量保证类名简洁而富于描述。 ??? ??? ??? 使用完整单词,避免缩写词 ( 除非工程内有统一缩写规范或该缩写词被更广泛使用,像 URL , HTML) ??? ??????? 如: FileDescription ??? ??? 3、接口( Interface )的命名 ??? ??? ??? 基本与 Class 的命名规范类似。在满足 Classd 命名规则的基础之上,保证开头第一个字母为 ”I”, ??? ??? ??? 便于与普通的 Class区别开。其实现类名称取接口名的第二个字母到最后,且满足类名的命名规范; ??? ??? 如: IMenuEngine ??? ??? 4、枚举( Enum )的命名 ??? ??? ??? 基本与 Class 的命名规范类似。在满足 Classd 命名规则的基础之上,保证开头第一个字母为 ”E” , ??? ??? ??? 便于与普通的 Class区别开。 ??? ??? 如: EUserRole ??? ??? 5、异常( Exception )的命名 ??? ??? ??? 异常( Exception ) 通常采用字母 e 表示异常,对于自定义的异常类,其后缀必须为 Exception ??? ??? 如: BusinessException ??? ??? 6、方法( Method )的命名 ??? ??? ??? 方法名是一个动词,采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写。 ??? ??? ??? 方法名尽可能的描述出该方法的动作行为。返回类型为 Boolean 值的方法一般由“ is ”或“ has ”来开头 ??? ??? 如: getCurrentUser() 、 addUser() 、 hasAuthority() ??? ??? 7、参数( Param )的命名 ??? ??? ??? 第一个单词的首字母小写,其后单词的首字母大写。参数量名不允许以下划线或美元符号开头, ??? ??? ??? 虽然这在语法上是允许的。参数名应简短且富于描述。 ??? ??? 如: public UserContext getLoginUser(String loginName); ??? ??? ??? ??? 8、常量字段 ( Constants )的命名 ??? ??? ??? 静态常量字段( static final ) 全部采用大写字母,单词之间用下划线分隔; ??? ??? 如: public static final Long FEEDBACK; ??????? public static Long USER_STATUS; ?三、注释规范 ???

文档评论(0)

1亿VIP精品文档

相关文档