我需要为处理“值数组”的例程找到一个良好且易于理解的命名方案(我在 Java 中编写了类似于 C++ 的 valarray
的东西,并考虑到了对原始类型的一些优化)。
我知道例程的主要分类是:
- 函数(它们可以接受参数并且必须返回某些内容)
- 方法(它们可能接受参数并且不返回任何内容)
出于性能原因,我不仅允许将威胁其参数的函数/方法定义为只读,还允许定义可能修改其第一个参数的函数/方法。
这样人们不仅可以做到这一点......:
ValArrayInt a=..., b=...;
// "apply" treats "a" and "b" as readonly
ValArrayInt temp = ValArrays.apply(adder, a, b); // temp = a + b
a = temp;
...还有这个:
ValArrayInt a=..., b=...;
// "apply" modifies "a"
a.apply(adder, b); // a += b
请为这些例程建议一个命名方案:
- 将所有参数视为只读的函数
- 函数可以修改其第一个参数
- 将所有参数视为只读的方法
- 方法可以修改其第一个参数
我想到过像ModifyingMethod、NonModifyingMethod或类似的名称,但我认为这些名称不够简单,而且太长。
最佳答案
我总是在方法名称中使用“更新”一词来指示一个或多个参数将因此而更新。例如:
updateClaimWithPolicyDetails(Claim c, PolicyCriteria pc, String identifier)
您可以合理地推断出此方法可能更新Claim 对象。然后,如果用户想了解更多信息,他可以深入研究 javadoc
对于返回某些内容并更新参数的函数,可以使用“updateAndGet”之类的内容。
public Policy updateClaimAndGetPolicy(Claim c, PolicyCriteria pc, String identifier)
据此,您可以推断出人们正在更新 claim 并返回保单( claim 可能已经针对保单进行了更新)。
如果方法中未使用 updateXXX 一词,那么您应该假设所有参数都是只读的。如果您有两个可更新参数,那么您可以说
updateClaimAndPolicyCriteria(Claim C, PolicyCriteria pc, String junkParam)
以上内容可以告诉您, claim 和保单标准都将更新。
关于java - 可以修改(写回)参数的函数和方法的良好命名约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2267640/