对于可变的`with`,是否存在java方法命名约定?

对于可变的`with`,是否存在java方法命名约定?,java,naming-conventions,Java,Naming Conventions,重要提示:我不是在征求关于我应该使用什么命名约定的意见。我想知道其他人在下面的案例中看到了哪些命名约定,这些命名约定在大型公共项目中足以引起注意。不幸的是,我的谷歌搜索结果一无所获,可能是因为我不知道任何前缀,因此无法按名称搜索 我知道带方法前缀的应该用于返回不可变对象的新实例,其内容根据指定的对象进行修改。然而,我不知道任何简单地改变可变对象的命名约定。有人知道这个的命名约定吗?它们在哪里使用 如果有关系,我想解决的问题是,我想添加一个方法,使用相应的实体初始化现有DTO的内容 我认为你所描述

重要提示:我不是在征求关于我应该使用什么命名约定的意见。我想知道其他人在下面的案例中看到了哪些命名约定,这些命名约定在大型公共项目中足以引起注意。不幸的是,我的谷歌搜索结果一无所获,可能是因为我不知道任何前缀,因此无法按名称搜索


我知道带方法前缀的
应该用于返回不可变对象的新实例,其内容根据指定的对象进行修改。然而,我不知道任何简单地改变可变对象的命名约定。有人知道这个的命名约定吗?它们在哪里使用


如果有关系,我想解决的问题是,我想添加一个方法,使用相应的实体初始化现有DTO的内容

我认为你所描述的场景没有标准惯例。看看一个
GsonBuilder
()。使用了很多前缀,包括“set”、“add”、“register”、“enable”等。它们都只是描述方法的行为

我建议使用
initializeFromEntity(entity)
或类似的方法,因为这描述了该方法的功能——您正在使用一个实体初始化DTO内容


在谷歌上搜索“Java initializeFrom”会导致几种用法(,)。

“我不知道任何简单地改变可变对象的命名约定”-你是说setter?像
setFoo(Foo-Foo)
?@khelwood:AFAIK
set
用于将单个指定属性设置为指定值,例如,
setWidth(15)
。如果你见过它用来初始化整个对象,请写一个答案,说明你见过它的地方。@Michael:我没有两个DTO;我有一个DTO和一个实体。我想根据实体中的属性设置DTO中的属性。在这种情况下,每个属性中的属性很可能相似,但根据存在的任何约定,它们不必相同。但是我想如果我想根据同一类型的另一个对象的属性来设置一个对象的属性,那么这种情况仍然成立,那么你所描述的是一种反模式。DTO应该只包含一个实体,该方法应该被称为
setEntity
。为什么要在两个不同的地方声明类似的字段?干。@Michael:这是一种意见——正是我不想要的。无论如何,在这种情况下,对实体的后续更改将导致DTO更改,这是我不希望看到的。此外,getter/setter当前由Lombok生成;我必须用你的方法写我自己的getter。此外,您并没有真正消除任何复杂性——只是将其移动到多个方法(getter)而不是单个方法。您的方法实际上需要手动编写更多行代码以获得不太合适的解决方案。引用的文档中没有任何方法与问题中列出的标准完全匹配。我添加了一些
initializeFrom
方法的示例。好的,这更像我要找的。是的,
initializeFrom
似乎相当普遍。谢谢