如何解决声纳问题 - 重复的代码块?

问题描述

对于两个不同的 ReST API,我得到了不同的响应,并且存在常见的字段。

我正在为反序列化创建两个不同的 bean。两种 bean 都有共同的字段。反序列化工作正常,但声纳出现了公共字段存在重复代码块的问题。

解决方法

有3种方法可以解决这个问题,我能想到。

  1. 您可以创建一个父 bean 并为其提取公共属性,然后从新创建的父 bean 中扩展 2 个 bean,这样您就不会出现代码重复。

  2. 您可以从声纳中排除豆类——因为豆类只是豆类,您不必真正担心对它们进行声纳分析,但对豆类进行声纳分析仍然可能会很好也取决于你想做什么。您可以在此处找到有关如何操作的详细信息:SonarQube Exclude a directory

  3. 您可以更改字段的顺序 -- 这是一件很愚蠢的事情,但我以前这样做只是为了解决声纳问题。

例如,如果两个文件都有

int a;
int b;
int c;
int d;

改成

int a;
int c;
int b;
int d;

这会欺骗声纳