首页 > 编程语言 >java代码评审检查表

java代码评审检查表

时间:2024-05-10 23:43:46浏览次数:28  
标签:语句 java 变量 是否 代码 评审 注释 检查表

Java代码评审检查表

编号

检查项

不适用

BUG数

代码行

备注

源文件

1

是否以UFT-8编码

 

 

 

 

 

 

2

是否使用通配符导入

 

 

 

 

 

 

3

import语句是否换行

 

 

 

 

 

 

4

每次打开新的块或类似块的构造时,缩进量都会增加两个 空间。

 

 

 

 

 

 

5

是否正确的进行换行处理

 

 

 

 

 

 

变量

1

每个变量声明(字段或本地)只声明一个变量:不使用 等声明

 

 

 

 

 

 

2

是否遵循了最小长度最多信息原则?

 

 

 

 

 

 

3

has/can/is前缀的函数是否返回布尔型?

 

 

 

 

 

 

4

类名是否存在重名问题?

 

 

 

 

 

 

注释

1

注释是否较清晰且必要?

 

 

 

 

 

 

2

函数是否已经有文档注释?(功能、输入、返回及其他可选)

 

 

 

 

 

 

3

特殊用法是否被注释?

 

 

 

 

 

 

4

复杂的分支流程是否已经被注释?

 

 

 

 

 

 

声明、空白、缩进

1

变量是否已经在定义的同时初始化?

 

 

 

 

 

 

2

类属性是否都执行了初始化?

 

 

 

 

 

 

3

代码段落是否被合适地以空行分隔?

 

 

 

 

 

 

4

是否合理地使用了空格使程序更清晰?

 

 

 

 

 

 

 

5

controller,service, dao 中不要声明有状态的变量

 

 

 

 

 

 

 

6

代码行长度是否在要求之内?

 

 

 

 

 

 

语句/功能分布/规模

1

包含复合语句的{}是否成对出现并符合规范?

 

 

 

 

 

 

2

是否给单个的循环、条件语句也加了{}?

 

 

 

 

 

 

3

单个变量是否只做单个用途?

 

 

 

 

 

 

4

单行是否只有单个功能?(不要使用;进行多行合并)

 

 

 

 

 

 

5

操作符++和— —操作符的应用是否符合规范?

 

 

 

 

 

 

 

可靠性

1

是否已经消除了所有警告?

 

 

 

 

 

 

2

对象使用前是否进行了检查?

 

 

 

 

 

 

3

局部对象变量使用后是否被复位为NULL?

 

 

 

 

 

 

4

是否确认没有同名变量局部重复定义问题?

 

 

 

 

 

 

 

5

入口对象是否都被进行了判断不为空?

 

 

 

 

 

 

 

6

是否函数的所有分支都有返回值?

 

 

 

 

 

 

7

是否对方法返回值对象做了null检查,该返回值定义时是否被初始化?

 

 

 

 

 

 

8

函数对错误的处理是恰当的?

 

 

 

 

 

 

9

异常捕获后是否进行了日志记录或异常继续抛出?

 

 

 

 

 

 

10

是否构造方法中不调用当前对象的构造方法

 

 

 

 

 

 

可维护性

1

实现代码中是否消除了直接常数?(用于计数起点的简单常数例外)

 

 

 

 

 

 

2

是否正确使用了日志记录?

 

 

 

 

 

 

3

是否有冗余判断语句?(如:if (b) return true; else return false;)

 

 

 

 

 

 

4

是否把方法中的重复代码抽象成私有函数?

 

 

 

 

 

 

标签:语句,java,变量,是否,代码,评审,注释,检查表
From: https://www.cnblogs.com/mine-my/p/18185516

相关文章

  • [转帖]Java程序在K8S容器部署CPU和Memory资源限制相关设置
    https://developer.aliyun.com/article/700701  简介: 背景在k8sdocker环境中执行Java程序,因为我们设置了cpu,memory的limit,所以Java程序执行时JVM的参数没有跟我们设置的参数关联,导致JVM感知到的cpu和memory是我们k8s的worknode上的cpu和memory大小。背景在......
  • java引入es使用
    引入依赖<dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-high-level-client</artifactId></dependency>初始化对象RestHighLevelClientclient=newRestHighLevelClient(RestClient.......
  • JAVA 启动常用命令
    nohupjava-jarxxx.jar&--运行jar文件ssh关闭也继续运行nohupjava-jar-Xms512m-Xmx1024mxxx.jar&--指定内存运行jar文件ssh关闭也继续运行nohupjava-jar-Xms512m-Xmx1024m&nohupjava-Dfile.encoding=utf-8-jar-Xms512m-Xmx1024m&以utf-8编码......
  • 深入探索JavaScript中的structuredClone:现代深拷贝的解密指南
    在JavaScript中,实现深拷贝的方式有很多种,每种方式都有其优点和缺点。今天介绍一种原生JavaScript提供的structuredClone实现深拷贝。下面列举一些常见的方式,以及它们的代码示例和优缺点:1.使用JSON.parse(JSON.stringify(obj))代码示例:functiondeepClone(obj){re......
  • Java web基础
    1、理解Jsp的page指令JSP(JavaServerPages)中的<%@page%>指令用于设置整个JSP页面的属性。它通常位于JSP页面的顶部,用于指定页面的一些配置信息。生存周期仅限制在本页面。2、理解Jsp的include指令在JSP中,<%@include%>指令用于在一个JSP页面中包含另一个文件的内容。这个指......
  • 【java】【集合类】HashMap 与HashTable的区别
    1.继承的父类不同HashMap是继承自AbstractMap类,而HashTable是继承自Dictionary类。不过它们都实现了同时实现了map、Cloneable(可复制)、Serializable(可序列化)这三个接口HashMap继承、实现关系如下: HashTable继承、实现关系如下: Dictionary类是一个已经被废弃的类(见其源码......
  • Java学设计模式之迭代器模式
    一、迭代器模式概念1.1什么是迭代器模式迭代器模式是一种行为型设计模式,它提供了一种方法来顺序访问一个聚合对象中的各个元素,而又不暴露该对象的内部表示。简单来说,迭代器模式可以让你遍历一个集合对象,而无需了解其内部结构。结构迭代器(Iterator):定义了访问和遍历元素的接......
  • MinIO对象存储 安装和java调用
    1、参考MinIO对象存储介绍和使用【备忘录】JAVASDK连接MinIO,附完整代码2、packageorg.j****g.common.util.io;importcn.hutool.core.io.FileUtil;importio.minio.*;importio.minio.errors.MinioException;importio.minio.http.Method;importio.minio.messages.Buc......
  • Json生成Java实体类工具
    1,贴入json内容,Javabean的类名、包名即可自动生成JavaBean代码,并可以直接打包下载源码2,支持将任意复杂/简单格式的Json字符串生成Javabean实体类3,提供Json格式错误提示,不会格式化不符合规范的Json字符串,确保了Javabean实体类的准确性4,如果你的Json字段包含系统关键字,又不......
  • Camunda JavaDelegate另一种实现
    lambada实现@ConfigurationpublicclassCommonDelegate{@Bean("test")JavaDelegatetestDelegate(){returnexecution->{System.out.println("test>>>>>");Map<String,Strin......