我从 Sonar 那里得到了很多这些违规行为,但我认为它们并不是真正的循环。
所以例如我有:
de.codeplumber.core.abc.core.Holder.java
de.codeplumber.core.xyz.core.User.java
Holder.java 使用 User.java 作为属性之一,并具有用于获取和设置 User 对象的 getter 和 setter。下面是 Holder.java 的代码
private User user = new User();
public User getUser() {
return user ;
}
public void setUser(User user) {
this.user = user;
}
现在 Sonar 正在报告 Holder.java 中的违规行为
移除对源文件“de/codeplumber/core/xyz/core/User.java”的依赖以打破一个包循环。
User.java的包对Holder.java的包没有反向依赖。
我不明白为什么声纳报告这个问题。以前我在其他一些类中有循环依赖,我修复了它,因为存在直接循环依赖。
任何帮助表示赞赏。