java - 可以修改(写回)参数的函数和方法的良好命名约定

标签 java function naming-conventions methods ref-parameters

我需要为处理“值数组”的例程找到一个良好且易于理解的命名方案(我在 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/

相关文章:

multithreading - 线程连接的由来

java - keystore (java)是否有命名约定

java - 我如何告诉我的应用程序它不应该使用 jar 中的外部服务提供者?

java - 如何使用对象的原始类来转换引用?

java - 将实体引用(引号、撇号)写入 xml 文件 - java

R 函数适用于某些数据帧,但不适用于其他数据帧?

javascript - 年龄计算器 : checking for a blank input or a string input

C将未知大小的数组传递给单个变量中的函数

entity-framework - 解决 EF4 中的实体与我们的数据库标准之间的命名约定冲突?

java - Eclipse 不适用于 java 8 和 win 8