您的位置:首页 > 健康 > 养生 > 价格划算的东莞建网站公司_织梦模板首页修改_网络优化大师_自己创建网站

价格划算的东莞建网站公司_织梦模板首页修改_网络优化大师_自己创建网站

2025/3/11 1:06:49 来源:https://blog.csdn.net/luChenH/article/details/144291983  浏览:    关键词:价格划算的东莞建网站公司_织梦模板首页修改_网络优化大师_自己创建网站
价格划算的东莞建网站公司_织梦模板首页修改_网络优化大师_自己创建网站

1. 规范说明

需遵守的代码风格校验规则总计九大类,具体参考如下:

序号

校验分类

类型

1

命名检查

强制

2

常量定义

强制

3

代码格式

强制

4

OOP规约

强制

5

数量检查

强制

6

控制语句

强制

7

导入检查

强制

8

注释规约

强制

9

其他

强制

针对以上9类的输出规范,罗列了相应的说明和正反例,详情可参考如下:

1.1 命名检查

  1. 类名采用首字母大写的驼峰式。
  2. 方法名,参数名采用首字母小写的驼峰式。
  3. 包路径名采用全小写的。
  4. 数组的声明风格命名统一采用String[] args的方式。

【反例】

//常量建议大写,可辅于下划线private static final String aaa = "test";private static final String BBB="test";private String ccc="test";
//变量名建议首字母小写private String DDD="test";
//数组声明String args[] = new String[8];

 【正例】

private static final String AAA= "test";
private static final String BBB="test";
private String ccc="test";
private String ddd="test";
String[] args = new String[8];

1.2 常量定义

  1. (建议)不采用魔法数,
  2. 全大写字母:常量名称应全部使用大写字母,单词之间用下划线 _ 分隔。

 【反例】

 public class Constants {public static final int maxConnections= 100;public static final String defaultUserName= "admin";} // 不好的做法if (count > 100) {// ...}

 【正例】

//常量大写下划线 
public class Constants {public static final int MAX_CONNECTIONS = 100;public static final String DEFAULT_USER_NAME = "admin";} // 好的做法if (count > Constants.MAX_CONNECTIONS) {// ...}

1.3 代码格式

  1. if 代码块均必须添加成双成对的大括号,并且左大括号在行尾,右大括号独有一行。
  2. (建议)方法和构造函数不超过80行。

 【反例】

 public String getInfo(String userName,Integer code) {//缺少括号if(true)log.info("test");return StringUtils.EMPTY;}

【正例】

   public String getInfo(String userName,Integer code) {//括号if(true) {log.info("test");}return StringUtils.EMPTY;}

1.4 OOP规约

  1. String类型的比较必须采用 equals。
  2. 避免null.equals("sss")导致的空指针异常。建议将可控制的值放在equals前面

 【反例】

public String getInfo(String userName, Integer code) {if (userName == "admin") {}if (userName.equals("admin")) {}return StringUtils.EMPTY;
}

 【正例】

public String getInfo(String userName,Integer code) {if("admin".equals(userName)){}if("admin".equals(userName)){}return StringUtils.EMPTY;}

1.5 数量检查

  1. 方法的入参不超过5个,构造函数除外。
  2. 方法的return的地方个数不超过10个。
  3. catch的异常数量尽量不超过3个。
  4. 抛出的异常数量尽量不超过3个。
  5. for循环嵌套不超过3层。如超过3层建议拆分
  6. if嵌套不超过5层。你就想想自己下次能看得懂吗?

 【反例】

  public String getInfo(String userName,String userId,String userNo,String userInfo,String orderId,String orderNum) throws IOException,FileNotFoundException,RuntimeException{//返回数量if(...){if(...){if(...){return StringUtils.EMPTY;}}}//return关键字超过10个......try {//业务操作......try {//业务操作......try {//业务操作......} catch (RuntimeException e) {......}} catch (Exception e) {...... }}catch (Exception ex){......}return StringUtils.EMPTY;}

 【正例】

 public String getInfo(UserInfo user) throws Exception{//过多的分支不利于代码阅读,拆分成子方法subMethod1();......subMethod2();return StringUtils.EMPTY;}private String subMethod1(){......}private String subMethod2(){......}private String subMethod3(){......}

1.6 控制语句

  1. Switch 必须携带Default分支,并且放在末尾。
  2. 检查是否有过度复杂的布尔表达式,建议最多不超过三个

 【反例】

   public String getInfo(String userName,Integer code) {//无default分支switch (userName){case "superAdmin":return "-1";case "admin":return "0";}return StringUtils.EMPTY;}//过度复杂的表达式public boolean canUserLogin(User user) {return (user != null &&user.getUsername() != null && !user.getUsername().trim().isEmpty() &&user.getPassword() != null && !user.getPassword().trim().isEmpty() &&user.isActive());}

 【正例】

public String getInfo(String userName,Integer code) {//无default分支switch (userName){case "superAdmin":return "-1";case "admin":return "0";default:return "1";}}//精简public boolean canUserLogin(User user) {return ( user != null && user.getUsername() );}

1.7 导入检查

  1. 对于未使用到的包,及时剔除。
  2. 避免使用*号进行包的引入。

减少不必要的依赖:显式导入可以减少不必要的依赖,使项目更加轻量。通配符导入可能会引入你实际并不需要的类,增加类加载时间和内存占用

 【反例】

//未被使用到
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
//util底下所有包引入
import java.util.*;

 【正例】

import java.util.List;

1.8 注释规约

  1. Java类必须补充注释。
  2. Java的方法必须具备注释。
  3. 方法和类 采用 /** @标签 **/ 采用统一的注释格式,行内注释采用//,并且不能放在行尾。

 【反例】

 //用户用户信息private String getInfo(String userName,String userId){return StringUtils.EMPTY;}

 【正例】

/*** 获取用户信息* @param userName 用户名* @param userId 用户ID* @return 返回信息字符串*/private String getInfo(String userName,String userId){return StringUtils.EMPTY;} 

1.9 其他

  1. (建议)尽量不出现TODO的事项,TODO事项建议在提交代码前处理完成。
  2. 不允许采用system.out方法输出日志。
  3. 不允许采用e.printStackTrace()方法输出堆栈信息。

 以上:祝愿各位遵守规范,多摸鱼。毕竟你可能需要交接别人的代码呢?哈哈

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com