如何在更新/创建方法中为新旧实体状态命名 2 个参数?

How to name 2 parameters for old and new entity state in an update/creation method?

提问人:Philippe Cloutier 提问时间:9/23/2023 更新时间:9/23/2023 访问量:26

问:

我们的(Java)项目处理存储在关系数据库中的多个实体。例如,我们与人打交道。我们有服务方法(在单例上),允许创建或修改这些实体。它们接受至少 2 个参数:

  1. 一个用于正在处理的 HTTP POST 中请求的实体状态,
  2. 另一个是 POST 之前的状态(如果存在),或者(未定义)如果尚不存在null

例如,如果我们有一个方法,它的原型可以是:updatePerson

public void updatePerson(Person person, Person personDB) {
   ...
}

当用户填写表单并单击“保存”时,对应于表单描述的对象,而 是创建对象,或者是用户单击之前数据库中的内容。 换句话说,我们的参数命名约定是 entity vs entityDB,我觉得这是可以理解的,但不是很好。personpersonDBnull

我希望这两个名称都更具体,例如 vs .然而,我并不那么热衷于,因为我不想给读者留下代码必然在修改(而不是创建)的印象。此模式是否有标准的命名约定,无论是在 Java 中还是在泛型中?personModifiedpersonExistingpersonModified

顺便说一句,我们的项目实际上是法语的(以防有人有一个不能用英语使用的解决方案)。

对象 服务 命名约定

评论


答:

0赞 HostMan 9/23/2023 #1

我看到两种方式:

  1. 我更喜欢existPerson \ person和modifiedPerson
  2. 但是你只能将 personId 和 person(修改后)dto 传递到你的方法中。 接下来,按 Id 从数据库中检索 storedPerson 并对其进行 mapp(如果存在)。在方法的主体中,可以使用 storedPerson / 实体名称。