This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
java编码规范 [2018/04/19 10:58] likanghao [不同类型的标识符命名规则] |
java编码规范 [2023/03/08 16:09] (current) xujianglong ↷ Page moved from 内部资料:java编码规范 to java编码规范 |
||
---|---|---|---|
Line 3: | Line 3: | ||
参考资料: | 参考资料: | ||
- | * [Google Style Guide -- Java](https:// | + | |
- | * [阿里巴巴Java开发手册](https://yq.aliyun.com/ | + | * [[https://developer.aliyun.com/ |
- | + | ====== | |
- | # 文件命名 | + | |
Java文件命名采用类名.java,例如Employee.java, | Java文件命名采用类名.java,例如Employee.java, | ||
- | # 代码命名规范 | + | ====== |
- | ## 默认规则 | + | ===== 默认规则 |
标识符只采用字母、数字和下划线。 | 标识符只采用字母、数字和下划线。 | ||
- | ## 不同类型的标识符命名规则 | + | ===== 不同类型的标识符命名规则 |
- | * 包名:全部字母小写,使用com.companyname.project的形式 | + | |
- | * 类名:**首字母大写**的驼峰法命名 | + | * 类名:**首字母大写**的驼峰法命名 |
- | * JSP名:首字母小写的驼峰法+下划线功能命名,例如:clinicFinanceMonthlyStatistics_detail.jsp(这是我们现在框架的格式) | + | * JSP名:首字母小写的驼峰法+下划线功能命名,例如:clinicFinanceMonthlyStatistics_detail.jsp(这是我们现在框架的格式) |
- | * 方法名:首字母小写的驼峰法命名 | + | * 方法名:首字母小写的驼峰法命名 |
- | * 常量名:**所有字母都大写**,用下划线分隔单词 | + | * 常量名:**所有字母都大写**,用下划线分隔单词 |
- | * 变量名:首字母小写的驼峰法命名 | + | * 变量名:首字母小写的驼峰法命名 |
- | * 参数名:首字母小写的驼峰法命名 | + | * 参数名:首字母小写的驼峰法命名 |
- | * 局部变量名:首字母小写的驼峰法命名 | + | * 局部变量名:首字母小写的驼峰法命名 |
- | * 每个类不能长于1000行,一个方法的长度尽量控制在50行内 | + | * 每个类不能长于1000行,一个方法的长度尽量控制在50行内 |
- | * 每个类、每个方法都必须都有注释,在一个方法内长于10行必须要有注释 | + | * 每个类、每个方法都必须都有注释,在一个方法内长于10行必须要有注释 |
- | * 一个方法只能有一项明确的责任 | + | * 一个方法只能有一项明确的责任 |
- | * 让一切东西都尽可能地“私有”——private,除非有特别好的理由,不要把任何类变量或实例变量公众化(public)。我们规定,实例变量是不需要显式的设置或获取的,统一设成私有的,要取则必须通过某种方法来完成 | + | * 让一切东西都尽可能地“私有”——private,除非有特别好的理由,不要把任何类变量或实例变量公众化(public)。我们规定,实例变量是不需要显式的设置或获取的,统一设成私有的,要取则必须通过某种方法来完成 |
- | * 尽量使用interfaces,不要使用abstract类 | + | * 尽量使用interfaces,不要使用abstract类 |
- | * 避免代码重复 | + | * 避免代码重复 |
- | # 文件格式化 | + | ====== |
文件格式化,采用IntelliJ IDEA或Eclipse默认的格式化风格,即Reformat Code功能自动实现的文件格式化。 | 文件格式化,采用IntelliJ IDEA或Eclipse默认的格式化风格,即Reformat Code功能自动实现的文件格式化。 | ||
Line 40: | Line 39: | ||
代码之间需要用空行分隔的,仅空一行。 | 代码之间需要用空行分隔的,仅空一行。 | ||
- | # 最佳实践 | + | ====== |
- | 1.如果没有特殊情况,所有的异常捕获后,都需要处理,并记录到日志中,不能捕获后什么都不做 | + | 1.如果没有特殊情况,所有的异常捕获后,都需要处理,并记录到日志中,不能捕获后什么都不做 2.复杂逻辑可以先将逻辑分步写好,然后逐步实现,避免中途被其他事情干扰,需要重新拾取思路 |
- | 2.复杂逻辑可以先将逻辑分步写好,然后逐步实现,避免中途被其他事情干扰,需要重新拾取思路 | + | |
- | # JavaDoc | + | ====== |
所有**public**的**class**,**method**和**enum**等都需要加JavaDoc注释,除非方法或类名特别清晰,随便找个英语好的人一看就知道类和方法是什么意思,方法里面做了什么处理 | 所有**public**的**class**,**method**和**enum**等都需要加JavaDoc注释,除非方法或类名特别清晰,随便找个英语好的人一看就知道类和方法是什么意思,方法里面做了什么处理 | ||
+ | |||
+ |