- 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;?三、注释规范???
您可能关注的文档
- Internet学校的作用及应用分析.doc
- Internet发展历史 中英文.doc
- Internet术1-12章.docx
- iOS开发探索-untime原理解读及实践.doc
- INTERGRAH ERDAS APOLLO鹰图海量影像空间信息共享与服务系统.docx
- iPhone4单档游戏修改方法.doc
- iPhone4 戏、软件安装方法.doc
- IPHONE的市营销策略.doc
- iphone5怎下载免费游戏.docx
- IPMP20043月D级试题及答案.doc
- 伟明环保-市场前景及投资研究报告-境内业务稳健运行,印尼市场贡献边际增量.pdf
- 桂东县法院系统招聘考试真题2025.pdf
- 贵州省黔南布依族2026年中考三模物理试题及答案.pdf
- 贵州省黔南州2026年中考语文二模试卷附答案.pdf
- 贵州省铜仁市2026年中考语文二模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套完整答案详解.docx
- 贵州省毕节市2026年中考语文一模试卷附答案.pdf
- 贵州省贵阳市南明区2026年中考语文一模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套参考答案详解.docx
- 贵州省贵阳市白云区2026年中考二模物理试题附答案.pdf
最近下载
- PPAP培训课件(详细).pdf VIP
- 2023山东传媒职业学院教师招聘考试笔试试题2.pdf VIP
- 2025年数据中心五年建设:AI算力与投资方向报告.docx
- WebGIS原理及开发—基于开源框架的WebGIS技术493.pptx VIP
- 鹤煤三矿关于成立原煤车间智能选矸系统升级改造项目领导小组的通知.doc VIP
- 2023年山东传媒职业学院教师招聘考试笔试试题及答案解析.docx VIP
- 北师大版6六年级数学上册全套计算题专项练习16页.pdf VIP
- 2025中考语文名著阅读专题06 《昆虫记》真题练习(单一题)(学生版+解析版).docx
- Q_26 4003HJTG001-2019无心车床技术条件.pdf
- LC-2030C型高效液相色谱仪(设备编号)再确认方案 .pdf VIP
原创力文档

文档评论(0)