【发布时间】:2020-01-19 11:05:32
【问题描述】:
在我找到的代码中:
String age = null;
String place = null;
new Employee(firstParam, secondParam, null, null, age, place);
Class Employee 不是我们的类,可能是从 wsdl 文件生成的,其中参数(年龄和地点)被称为 alter、platz 所以有人试图命名空参数来知道哪个是哪个,但这是一个好习惯吗?另一个问题是 age 和 place 被翻译,而其他两个参数只是 null 但除此之外,创建具有 null 值的变量只是为了将其传递给构造函数的下一行是否可以?
【问题讨论】:
-
你考虑过建造者模式吗?
-
类似的东西不一定是源代码的工作,而是IDE的工作。大多数主要的 IDE,如 Intellij,都有一个称为“参数提示”的功能。它们在方法调用中显示参数名称的位置,如果从传入的参数或方法名称中不明显(如在
setName(name)中不会显示)。如果您启用此功能,此问题将完全消失。 -
@Zabuza 完全正确,我们的 IDE 显示参数名称,但问题是它不是“我们的”构造函数,它是自动生成的,并且名称是德语,没有多大帮助。
-
@Zabuza 不需要,除非您从 IDE 中读取代码,例如在代码审查期间。
-
或者使用具有命名参数的语言,比如 Kotlin。
标签: java design-patterns