【发布时间】:2012-05-25 14:20:07
【问题描述】:
假设我们有 3 个类:A、B 和 C。每个类在参数中都有其他类。像这样: 编辑:
+-----+ +-----+ +-----+
| A | | B | | C |
------- ------- -------
| X x | | X x | | Z z |
| Z z | | Y Y | | Y y |
------- ------- -------
Getter 和 setter 将被复制。那么,这是一种不好的做法,我们应该避免这种做法吗?或者这不应该被代码分析器(例如PMB)视为重复代码?
我曾想过“策略模式”,但我认为它可能太多了,只是针对 getter 和 setter ...
编辑:我的第一个问题可能不是很清楚。问题是我们是否有两个具有共同属性和完全相同的 getter/setter 的类(未链接)。 Sonar 或 PMD 是否应该将这些方法视为重复代码?如果没有,会修复吗?
【问题讨论】:
-
这些类看起来耦合非常紧密。他们为什么会这样?
-
代码重复很糟糕。为什么不能只从 A 中引用 B 类并以这种方式使用方法?
-
A.getB() 的含义不必与 C.getB() 相同。所以它不是重复的。也就是说,我在某处看到了
@Getter和@Setter注释,它们甚至有助于简化(我不记得它是哪个框架/库) -
@Matt Ball 你是对的。我编辑了我的示例。
标签: java sonarqube pmd code-duplication