diff --git a/README.md b/README.md index 1dfb6fd..f402210 100644 --- a/README.md +++ b/README.md @@ -18,4 +18,11 @@ 目前项目还没完成,开发中…… -相关的文档和介绍完善中…… \ No newline at end of file +相关的文档和介绍完善中…… + +## 编码规约 +### 关于 null +1. 方法默认参数不为 `null`,**可以**在 Javadoc 中对参数进行说明,如“...(must not be {@code null}[ or empty string])”。方法内部**必须**做参数校验,如使用 Assert 等工具类。 +2. 如果参数允许为空,**必须**为参数添加 `@Nullable` 注解,并在 Javadoc 中对参数进行说明,如“...(may be {@code null})”。 +3. 除极特殊的情况,方法默认**不返回 `null`**,如可能返回一个对象表示值的缺失,则**必须**使用 `Optional`,**绝不在返回类型为 Optional 的方法中返回 `null`**。 +4. 在极其特殊的情况下,方法需要返回 `null`,**必须**给方法加上 `@Nullable` 注解,并在 Javadoc 中详细说明。