避免在Java包SonarQube之间循环

时间:2017-07-06 17:54:14

标签: sonarqube

我从声纳得到以下主要错误: 删除对源文件“src / main / java / com / credorax / brain / model / context / Credential.java”的依赖,以打破包循环

这实际上意味着如果我删除导入,它将打破循环。 我不明白他们希望我做些什么来解决这个问题。

1 个答案:

答案 0 :(得分:0)

当包A中的类使用包B中的类时,创建包循环,包B中的类(它可能是或不是同一个类)使用包A中的类(同样,可能是同一个类) , 也许不吧)。这被认为表明设计不佳,因此建议不要这样做。

通常,您会通过重新考虑包装设计来打破包装周期。也许A和B应该是一个包。或者也许包A中的一个类应该移动到包B中。反之亦然。但这里的想法是,如果你绘制了一个图表,其中包含了彼此使用的包,它看起来不像意大利面。