变量命名约定 - var1,var2或firstVar,secondVar?

时间:2012-07-30 21:46:23

标签: coding-style naming-conventions

如果你有2个来自相同类型的变量播放类似的掷骰,例如2个数组的合并函数: IntArray合并(IntArray array1,IntArray array2);

您认为命名变量的最佳(最易读,最不容易出错)方式是什么? var1,var2 firstVar,secondVar ?或者可能是另一种方式? 如果你表达你的意见,我会很高兴听到背后的理性,特别是关于哪个不容易出错。

提前致谢。

4 个答案:

答案 0 :(得分:2)

对于C / C ++,我认为以下是首选:

IntArray merge(IntArray a, IntArray b);

因为它简单,简短并且避免在变量名中使用整数。

或'运营商表单':

IntArray merge(IntArray lhs, IntArray rhs);

左侧右侧

(相似:

IntArray operator+(IntArray lhs, IntArray rhs);

'数字'变体和camelCase更像是ECMAScript而不是C.但它主要是由那些只使用C / C ++并使用类似命名的人创建的“标准”(请参阅​​plus template in C++ standard library示例)

但你不能得到很多理由,因为它只是一种品味问题。只要变量同样重要(即merge(a, b) == merge(b, a)),它就是他们从实现代码中引用的方式。

答案 1 :(得分:1)

为清楚起见,我使用变量的目的而不是数字。它立即告诉我变量计数是有限的。例如:

function predicate(int subject, int object)

function merge_array(array firstArray, array secondArray)

使用(array1, array2)声音对我来说是错误的,因为它似乎有array3,array4,...虽然我们知道变量/参数计数是固定的。

答案 2 :(得分:1)

函数的参数应始终是关于它们是谁以及它们应该用于什么。如果两个数组之间没有差异(例如,作为源和目标),也许您应该考虑传递一个数组列表(名为arraysToMerge或类似的东西)。 变量的名称必须始终解释变量的用途。因为代码是(或至少应该是)我们真实的文档。

答案 3 :(得分:1)

在你的情况下,我会使用varanotherVar的内容。
如:

IntArray merge(IntArray array, IntArray anotherArray);

变量和参数应该是不言自明的。我认为这种情况的描述更加清晰。