java - 为什么实体类显示 pmd 警告“类被怀疑是数据类”
问题描述
我有一个类用户,如下所示
@Entity
public class User {
@Id
@GeneratedValue
private Long primaryKey;
private String name;
// some other fields, default constructor, All argument constructor,
// getters and setters
当我使用 PMD 代码分析器进行分析时,它的显示the class User suspected to be a DataClass
.
我尝试UserDataClass
对类使用命名,但它仍然显示此警告。
我们可以遵循什么命名约定来消除此警告?
解决方案
没有命名约定可以让 PMD 不抱怨这一点。
只要启用了数据类规则,并且你的类没有被列入白名单,这个问题就会继续弹出。
这个想法是完全避免使用数据类,而是让类提供一些行为(除了保持一些状态)。这个 SE question讨论了如何做到这一点。
该规则作为一个整体并没有被普遍接受为有用(有多个删除规则的请求),因此如果它不符合您项目的设计理念,您可能只想禁用该规则。
记住:像 PMD 这样的工具不应该被盲目地用作某些绝对真理的来源。相反,它们应该被配置为紧密匹配所需的设计理念,然后用于检测与该理念的意外偏差。
推荐阅读
- javascript - 箭头函数不是函数。是数组的一个实例。反应原生钩子
- python - 使用 dict 映射而不是多个 if 语句
- android - 由于 Firebase UI,我的应用程序缓存增加
- java - 如何添加文本框+组合框
- qt - QTableView 和 QStandardItemModel 的问题
- java - 如何打开 Openshift - 端口 9111(grpc 应用程序)
- flutter - 如何在 Flutter 中修复文本溢出问题并使卡片变大?
- linux - 如何在 awk printf 中使用 var
- python - 在 Django Channels 中创建等待队列?
- r - 如何在这个由几个不同几何图形组成的 ggplot 中手动指定图例文本/颜色?