Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中的无丢弃注释_Java_Annotations_Sonarqube_Static Analysis - Fatal编程技术网

Java中的无丢弃注释

Java中的无丢弃注释,java,annotations,sonarqube,static-analysis,Java,Annotations,Sonarqube,Static Analysis,我和我的团队刚刚在我们的代码库中遇到了一个bug,因为我们忽略了不可变结构的返回值: 我想对一些方法进行注释,例如指示用户不要放弃该值(在C++17中是a la[[nodiscard]]]),以防止将来出现问题 我们正在使用SonarQube,并且能够打开FindBugs和其他人的检查,但是最好不要像在基类中不存在的方法上使用@Override时那样编译代码。我尝试了@CheckReturnValue,它在IntelliJ IDE中给了我一个警告,但没有任何东西阻止发送这样的代码 为了在编译时引

我和我的团队刚刚在我们的代码库中遇到了一个bug,因为我们忽略了不可变结构的返回值:

我想对一些方法进行注释,例如指示用户不要放弃该值(在C++17中是a la
[[nodiscard]]]
),以防止将来出现问题

我们正在使用SonarQube,并且能够打开FindBugs和其他人的检查,但是最好不要像在基类中不存在的方法上使用
@Override
时那样编译代码。我尝试了
@CheckReturnValue
,它在IntelliJ IDE中给了我一个警告,但没有任何东西阻止发送这样的代码


为了在编译时引入更多检查,我们还可以探索哪些其他方法?

SonarQube不会阻止您编译代码。事实上,SonarJava需要编译代码才能运行。