跳至主要內容
SpotBugs插件详解

SpotBugs插件详解

SpotBugs是Findbugs的继任者(Findbugs已经于2016年后不再维护),用于对代码进行静态分析,查找相关的漏洞;在本地IDE中可以配置SpotBugs插件进行检查。

SpotBugs

SpotBugs是Findbugs的继任者(Findbugs已经于2016年后不再维护),用于对代码进行静态分析,查找相关的漏洞; 它是一款自由软件,按照GNU Lesser General Public License 的条款发布。


gavin-james大约 3 分钟质量保障代码质量
Sonarlint插件详解

Sonarlint插件详解

在提交代码前,为提升代码质量还需要使用一些静态代码工具检查代码质量,最为常用的是Sonar;在本地IDE中可以配置Sonarlint插件进行检查。

Sonar是什么?

Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量 通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代码质量管理与检测

Sonar可以从以下七个维度检测代码质量,而作为开发人员至少需要处理前5种代码质量问题


gavin-james大约 4 分钟质量保障代码质量
静态样式检查详解

静态样式检查详解

统一样式检查规范里,最为常用的统一样式工具是checkstyle插件,本文将介绍常用的统一风格的措施之静态样式检查

统一样式检查

在标准化的统一样式检查规范里,最为常用的统一样式工具是checkstyle插件,而不是国内阿里的代码规约插件。

  • 下载插件
img
img

gavin-james大约 15 分钟质量保障代码质量
统一命名规范详解

统一命名规范详解

好的代码本身就是注释, 所以我们需要统一命名风格,本文将介绍常用的统一风格的措施之统一命名规范

统一命名风格

好的代码本身就是注释, 所以我们需要统一命名风格。

在本文中,将从大到小,从外到内,总结Java编程中的命名规范。文中将会涉及到日常工作中常见的命名示例,如包命名,类命名,接口命名,方法命名,变量命名,常类命名,抽象类命名,异常类命名以及扩展类命名等。我将按照项目工程目录结构,从包,类(接口,抽象类,异常类),方法,变量和常量的顺序展开介绍。


gavin-james大约 19 分钟质量保障代码质量
统一代码格式化详解

统一代码格式化详解

项目的代码通常是一个团队共同完成的,要保障代码质量的首要前提就是统一代码的风格,本文将介绍常用的统一风格的措施之统一代码格式化

统一代码格式化

统一风格的第一条,就是要统一代码的格式化,因为不同人提交的代码格式化不一样将导致merge代码造成大几率的冲突;而统一的代码风格无论是对于项目可维护性,还是降低merge冲突都是极为重要的。

通常是两种方式:一种方式是,强制使用同样的IDE工具;另外一个更为常见的是,使用同一种代码格式规范。


gavin-james大约 2 分钟质量保障代码质量
SpringBoot2+H2+Mockito实战

SpringBoot2+H2+Mockito实战

在真实的开发中,我们通常是使用SpringBoot的,目前SpringBoot是v2.4.x的版本(SpringBoot 2.2.2.RELEASE之前默认是使用 JUnit4,之后版本默认使用Junit5);所以我们写个基于SpringBoot2.4+H2的内存库的简单例子,同时加点必要的单元测试。

为何H2会被用来做单元测试

一个 Junit单元测试的流程包括

  • 初始化数据
  • 执行测试
  • 销毁数据

gavin-james大约 5 分钟质量保障代码质量
IDEA下单元测试详解

IDEA下单元测试详解

工欲善其事必先利其器,我们在写单元测试一定要使用工具,这将能大幅度提升编码的效率。本文以IDEA为例,看看如何利用插件提升效率。

场景准备

准备一个待测试的类, 其中还包含着错误。

package com.gavin.james.junit4.module;

public class Calculator {

    public int result = 0;

    /**
     * add.
     *
     * @param operand1 first param
     * @param operand2 second param
     * @return sum
     */
    public int add(int operand1, int operand2) {
        result = operand1 + operand2;
        return result;
    }

    public int subtract(int operand1, int operand2) {
        result = operand1 - operand2;
        return result;
    }

    public int multiple(int operand1, int operand2) {
        result = operand1 * operand2;
        for (; ; ) {                    //死循环
        }
    }

    public int divide(int operand1, int operand2) {
        result = operand1 / 0;
        return result;
    }

    public int getResult() {
        return this.result;
    }

}

gavin-james大约 2 分钟质量保障代码质量
Mockito 详解

Mockito 详解

Mock通常是指,在测试一个对象A时,我们构造一些假的对象来模拟与A之间的交互,而这些Mock对象的行为是我们事先设定且符合预期。通过这些Mock对象来测试A在正常逻辑,异常逻辑或压力情况下工作是否正常。而Mockito是最流行的Java mock框架之一。

什么是 Mock 测试

Mock通常是指,在测试一个对象A时,我们构造一些假的对象来模拟与A之间的交互,而这些Mock对象的行为是我们事先设定且符合预期。通过这些Mock对象来测试A在正常逻辑,异常逻辑或压力情况下工作是否正常。


gavin-james大约 12 分钟质量保障代码质量
Junit5 详解

Junit5 详解

JUnit 5是JUnit的下一代。目标是为JVM上的开发人员端测试创建一个最新的基础。这包括专注于Java 8及更高版本,以及启用许多不同风格的测试。

官方资料

最好的资料依然在Junit官方网站,以下我帮你总结下Junit相关的官方网址。

  • 官网地址

https://junit.org/junit5/


gavin-james大约 16 分钟质量保障代码质量
JUnit4 详解

JUnit4 详解

JUint是Java编程语言的单元测试框架,用于编写和运行可重复的自动化测试。本文主要针对Junit4要点进行梳理总结。

什么是JUnit?

JUint是Java编程语言的单元测试框架,用于编写和运行可重复的自动化测试。

JUnit特点?

JUnit 是一个开放的资源框架,用于编写和运行测试。

  • 提供注解来识别测试方法。
  • 提供断言来测试预期结果。
  • JUnit 测试允许你编写代码更快,并能提高质量。
  • JUnit 优雅简洁。没那么复杂,花费时间较少。
  • JUnit测试可以自动运行并且检查自身结果并提供即时反馈。所以也没有必要人工梳理测试结果的报告。
  • JUnit测试可以被组织为测试套件,包含测试用例,甚至其他的测试套件。
  • JUnit在一个条中显示进度。如果运行良好则是绿色;如果运行失败,则变成红色。

gavin-james大约 13 分钟质量保障代码质量