Skip to content

Instantly share code, notes, and snippets.

@yiding-he
Last active November 17, 2020 03:50
Show Gist options
  • Save yiding-he/99b9a80252bb23107b29f5e8314f64ff to your computer and use it in GitHub Desktop.
Save yiding-he/99b9a80252bb23107b29f5e8314f64ff to your computer and use it in GitHub Desktop.
Java 编码规范

一、编码风格

(一)命名

1、不允许非常量命名当中出现下划线,但以下情况允许用下划线开头:

  • lambda 表达式的参数。

2、不允许使用拼音及拼音简写。

  • 错误: String zhehoushouyilv; String zhsyl;
  • 正确: String discountedInterestRate;

3、类、接口、注解的命名规则:

  • 使用驼峰命名格式,首字母必须大写。例如 UserService
  • 缩写名词也是首字母大写,其余字母小写。例如 HtmlParser 而不是 HTMLParser

4、方法、变量、参数、非常量成员的命名规则:

  • 使用驼峰命名格式,首字母必须小写。例如 userServicecreateUser()
  • 缩写名词的非首字母一律小写。例如 htmlParser 而不是 HTMLParserdefaultFtpClient 而不是 defaultFTPClient

5、常量命名规则:

常量指的是声明为 public static finalprivate static final 的类成员。常量名称规则是:

  • 所有字母必须大写;
  • 单词之间用下划线分隔。

例如 USER_ROLE_ADMINDEFAULT_LISTEN_PORT

6、URL 请求路径命名规则:

URL 当中用连字符(-)来分隔单词。例如 /api/exam-project/query-by-name

7、抽象类命名规则:

为了体现该类是个抽象类,类的名称必须以 Abstract-Base- 开头。

例如 AbstractUserServiceBaseReportGenerator

8、异常类命名规则:

为了体现该类是个异常类,类的名称必须以 -Exception 结尾。命名尽可能体现异常的原因。

例如 TransferFailedExceptionNoResponseException

9、数组命名规则:

定义数组变量时,中括号 [] 放在变量类型后面,而不是放在变量名后面。例如 int[] arr 而不是 int arr[]

(二)格式

1、缩进:

这里采用大多数 IDE 默认的缩进方式:

  • 源代码使用四个空格缩进,而不是制表符 [tab]

2、空格和换行

  • 数学运算符/逻辑运算符两边要加上空格,例如 a + b 而不是 a+b
  • 左括号不单独占一行,例如
do {
} while(...)

而不是

do
{
} while(...)

(三)OOP 规约

(四)集合

(五)线程和并发

(六)条件分支

(七)循环

(八)注释

二、异常处理

三、单元测试

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment