java无效的源发行版

也许我可以被机器人代替进行代码审查。 有一些反馈我发现自己一遍又一遍。 这是我最不喜欢的一些:

通用代码结构

放弃其他

if在两端returnelse是多余的和不必要的创建缩进。

 if (foo) { return bar;  } else { return baz;  }  // should be replaced by  if (foo) { return bar;  }  return baz; 

数组->列表->流

 List< ... > list = Arrays.asList(someArray);  list.stream(...)  // should be replaced by  Arrays.stream(someArray) 

测试代码

之前是重型初始化器

我们使用@Before方法来设置复杂的对象,通常需要在其中进行处理以计算类实例成员需要包含的对象。 另一方面,它是过大的:

 // this is part 1 of two  private MyService myService;  @Before  public void before() { // now initialize myService = new MyService().init( 123 );  }  // the above code can be expressed in the initializer  // and is simple to read there...  // if it threw exceptions or needed some more complex  // set up, it wouldn't be  // it's in one clear place where we know where to  // find it  private MyService myService = new MyService() .init( 123 ); 

测试投掷

 @Test  public void someTest() throws IOException, JsonException {  }  // never bother with multiple or specific exception  // throws in tests nobody cares and it's just noise  // the test runner will catch anything!  @Test  public void someTest() throws Exception {  } 

断言大小

 // long-winded  assertThat(list.size()).isEqualTo(2);  // should be  assertThat(list).hasSize(2); 

AssertJ的一切

内置的JUnit断言不如AssertJ提供的断言丰富。 最低限度,我建议使用某种形式的assertThat ,这样您就不会最终使用对情况有点弱的断言。

您的assertEquals是错误的方法

60%的时间,当我使用assertEquals复查代码时,顺序是错误的。 提示:使用AssertJ !!! JUnit在这一点上是错误的! 我们应该从左到右阅读。

 // wrong:  assertEquals(something.getFoo(), 123 );  // it's expected IS actual  assertEquals( 123 , something.getFoo()); 

Mockito静态导入

 // this is not normal  Mockito.verify(mock).called();  // static import all mockito methods  verify(mock).called(); 

Mockito时报(1)

 // this is a tautology  verify(mock, times( 1 )).called();  // look at what verify(mock) does internally  // replace with  verify(mock).called(); 

翻译自: https://www.javacodegeeks.com/2019/10/ineffective-java.html

java无效的源发行版

java无效的源发行版_无效的Java相关推荐

  1. java: 错误:无效的源发行版:14

    IDEA:java: 错误:无效的源发行版:14 在Java项目运行中出现下列报错 导致这个原因出现是因为当前项目的JDK版本与电脑配置的JDK环境版本不一样导致的 1.首先使用win + r打开cm ...

  2. Error:java: 无效的源发行版: 11

    Error:java: 无效的源发行版: 11 1.问题描述 2.原因查找 3.解决办法 3.1 打开IDEA的File-Project Structure设置 3.2 修改Project SDK为自 ...

  3. error:java:无效的源发行版_IDEA java出现无效的源发行版14解决方案_java

    这篇文章主要介绍了IDEA java出现无效的源发行版14解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 问题描述 问题原因 出现该问题的原 ...

  4. IDEA java出现无效的源发行版14解决方案

    这篇文章主要介绍了IDEA java出现无效的源发行版14解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 你好! 这是你第一次使用 Mark ...

  5. 问题|Error:java: 无效的源发行版: 10 @Java

    目录 问题描述 原因分析 解决方法 问题描述 背景: 工具:IntelliJ IDEA工具 背景:今日在IDEA的导入普通的java项目模块后,运行java程序时,发现项目中每一个程序都在编译时报错 ...

  6. Intellij idea 出现错误 error:java: 无效的源发行版: 8解决方法

    Intellij idea 出现错误 error:java: 无效的源发行版: 8解决方法 参考文章: (1)Intellij idea 出现错误 error:java: 无效的源发行版: 8解决方法 ...

  7. java: 错误:无效的源发行版

    问题 java: 错误:无效的源发行版 详细问题 解决 本机的JDK版本与项目的语言级别不同造成的, 将项目的语言级别改为本机的JDK版本即可 查看JDK版本 (事实上, 该步骤查看本机的已配置环境变 ...

  8. java: 错误: 无效的源发行版:17

    出现无效的源发行版 就是jdk版本环境不一致造成的 解决方案如下: 1.先查看运行环境; 确保 Project SDK 和 Project language level 版本一致 (我用的是jdk8版 ...

  9. java: 无效的源发行版: 15

    java: 无效的源发行版: 15 问题 项目编译出现如下错误 java: 无效的源发行版: 15 解决方案 1 打开项目结构 2 更改项目sdk为所需版本, 即JDK15 2 更改模板sdk为所需版 ...

最新文章

  1. CentOS6.5升级到CentOS7
  2. MySQL数据库的备份和还原
  3. CPU和内存之间——地址映射(理解很重要)
  4. css清除浮动的集中方法
  5. byteofpython.info_A Byte of Python 笔记(7)数据结构:列表、元组、字典,序列
  6. flask response对象
  7. spring Boot 学习(一、Spring Boot与缓存)
  8. Makefile 中使用函数
  9. CNDS 签到在哪里
  10. 测试u盘容量的软件哪家好,U盘容量检测工具
  11. jemalloc 编译
  12. 利用matlab实现h 控制,利用matlab实现H-infinity鲁棒控制.doc
  13. 晓前端·周刊【第6期】:量子霸权
  14. python中while和for的运行顺序_详解python while 函数及while和for的区别
  15. 开关电源个人总结(电感部分与滤波电容)
  16. 图像和像素(Images and Pixels)
  17. input单选框 复选框 点选不上 选不中
  18. .net rar zip压缩包解压
  19. c# 全选快捷键等类似事件
  20. java 环境变量的设置

热门文章

  1. [TJOI2017]城市(未解决)
  2. 牛客题霸 [ 验证IP地址] C++题解/答案
  3. 数论分块专题复习(余数求和+模积和+Ice Rain+The Fool)
  4. 【2019CSP-J 普及组题解】数字游戏(number),公交换乘(transfer),纪念品(souvenir),加工领奖(work) CSP普及游记
  5. CometOJ-[Contest #10]鱼跃龙门【exgcd】
  6. CF570D-Tree Requests【长链剖分】
  7. P3750-[六省联考2017]分手是祝愿【期望dp】
  8. 欢乐纪中某A组赛【2019.7.12】
  9. 2018/7/11-纪中某C组题【jzoj1293,jzoj1294,jzoj1295】
  10. 【2018.4.14】模拟赛之三-ssl2393 单元格