我从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的包没有反向依赖。
我不明白为什么声纳会报告这个问题。以前我在其他一些类中有循环依赖,我修复了它,因为存在直接的循环依赖。
任何帮助表示感谢。
答案 0 :(得分:0)
我发现这篇文章有助于理解问题https://dzone.com/articles/working-dependencies-eliminate
我正在使用IDE来预测循环依赖关系的分析。它给了我比声纳问题更多的细节。