如果你有2个来自相同类型的变量播放类似的掷骰,例如2个数组的合并函数: IntArray合并(IntArray array1,IntArray array2);
您认为命名变量的最佳(最易读,最不容易出错)方式是什么? var1,var2 或 firstVar,secondVar ?或者可能是另一种方式? 如果你表达你的意见,我会很高兴听到背后的理性,特别是关于哪个不容易出错。
提前致谢。
答案 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)
在你的情况下,我会使用var
和anotherVar
的内容。
如:
IntArray merge(IntArray array, IntArray anotherArray);
变量和参数应该是不言自明的。我认为这种情况的描述更加清晰。