【Java进阶】浅浅地谈一下编码规范、单元测试

433 阅读3分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。


一、编程规范

阿里巴巴Java开发手册泰山版

链接:pan.baidu.com/s/1TxhfKnQk…

提取码:2022

最基本命名规范原则:见名知意,驼峰命名

比如,OrderServiceImpl、IStudentService、UploadUtil 一看就知道是订单 Service 实现类、学生 Service 接口、上传工具类

而不是使用 dingdanServiceImpl、I123Service 类似这种拼音、表达不清的命名

命名细则如下:

  • 包名
    • 全小写
    • 域名倒写.模块名.组件名
    • 例如:cn.regexp.crm.domain
  • 类名、接口名、接口实现类
    • 单词首字母大写
    • 类名一般使用名词
    • 接口名一般使用I开头,表示interface
    • 接口实现类一般以Impl结尾,表示implement
    • 例如:Department、IUserService
  • 方法名、变量名
    • 首单词首字母小写,其它单词首字母大写
    • 方法名一般以动词开头
    • 例如:getOrderByOrderNo、userInfo
  • 常量名
    • 字母全大写,且单词之间用下划线分隔
    • 一般使用public static final修饰
    • 例如:MAX_STOCK_COUNT

这里推荐一款插件,阿里巴巴 Java 编程规范!Alibaba Java Coding Guidelines(XenoAmess TPM) image.png

二、单元测试

测试,相信大家都不陌生,是指看一看功能是否存在问题。在软件测试中,测试可以分类两类,黑盒测试和白盒测试

这里就不专门去讲这两种测试了,就简单提一下。

黑盒测试是不用写代码、直接手动测试,比如手动去登录页面测下能不能正常登录等等。

白盒测试与黑盒测试相反,是需要写代码的,通过代码自动完成测试并输出测试结果。

作为开发人员,白盒测试是必备的技能,下面要讲的 JUnit 测试就是属于白盒测试。

JUnit 测试即单元测试,在小区中,我们会进行划分一单元、二单元......同样道理,单元测试就是对代码划分为几个块进行测试。

Java 的单元测试目前有三个版本:

  • junit 3.x:针对 JDK 1.5 之前版本,不推荐
  • junit 4.x:针对 JDK 1.5 以及之后版本,使用注解,推荐
  • junit 5.x:针对 JDK 1.8 以及之后版本,没必要

图解搭建 JUnit 开发环境的步骤

对于 Maven 项目,当建好项目后,就会自动生成一个测试目录,并且被标为绿色

image.png

如果你的目录不是绿色的,可以通过右击该目录,找到 Mark Directory as,然后标记为 Test Sources Root

image.png

接下来,我们来编写一个测试类,这里对 Service 层的一个实现类进行测试,你可以选择自己手动创建这个测试类

当然,也可以利用 IDEA 的功能自动创建,将光标移动到类名上,按住 Alt + Enter,选择 Create Test,会提示你 No Test Roots Found,不管它,直接 OK

image.png image.png

然后选择要使用的单元测试版本,以及测试的方法即可

image.png

建好后就是下面的样子,你就可以在方法体内写测试的逻辑了

image.png

由于 JUnit4 回归测试框架是第三⽅提供的,并不是 JDK ⾃带的,所以需要安装 junit 插件,插件默认是自带的,如果没有则通过插件库 Plungins 下载安装