dependency-injection - 如何在使用注入(inject)的构造函数上忽略 "too many parameters"

标签 dependency-injection sonarlint

如果你使用依赖注入(inject),构造函数有很多参数是完全正常的。

对于使用注入(inject)的构造函数,sonarlint 是否可能不显示“参数过多”代码异味警告?

最佳答案

正如之前其他发帖人所指出的,方法或构造函数的太多参数表明以某种方式违反了关注点分离原则。最好采用以下解决方案:

  • 如果是构造函数:构建器模式
  • 在方法的情况下:如果参数太多,则带有请求参数和构建器。

  • 这避免了参数的混淆,即“x、y 还是 z 的第一个参数?”

    如果所有尝试都失败,请注释 @SuppressWarnings("squid:S00107")在您要忽略的方法/构造函数之上。这只能是最后的资源。

    关于dependency-injection - 如何在使用注入(inject)的构造函数上忽略 "too many parameters",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42719929/

    相关文章:

    java - 如何仅对给定的类类型应用现有的 sonarQube 规则

    java - 即使不使用 put(),对象的属性也会在 Map 中更改吗?

    winforms - MVP模式中使用Windsor caSTLe进行依赖注入(inject)的循环引用问题

    spring - 如何使用 Spring 将依赖项注入(inject) HttpSessionListener?

    java - 如何在SonarQube 6.7中分析单元测试文件?

    java - Sonar 不会增加 java 中 'forEach' 循环的圈复杂度分数

    java - 为什么 Spring 的 @Configurable 有时有效,有时无效?

    entity-framework - 避免贫血域模型如何与 ORM、依赖注入(inject)和可靠方法一起使用

    c# - 多个项目的 SonarLint 连接模式

    java - Sonar 库 : Boolean literals should not be redundant