编码数学算法 - 我应该在书中使用变量还是更具描述性的变量?

Cha*_*nce 5 math coding-style naming-conventions

我正在维护一本来自书籍的数学算法的代码,并在评论中引用.如果变量名称描述变量代表什么,或者变量是否与书中的变量相匹配,是否更好?

举一个简单的例子,我可能会看到这段代码,它反映了书中的变量.

A_c = v*v/r
Run Code Online (Sandbox Code Playgroud)

我可以把它重写为

centripetal_acceleration = velocity*velocity/radius
Run Code Online (Sandbox Code Playgroud)

后者的优点是任何查看代码的人都可以理解它.然而,前者的优点是更容易将代码与书中的内容进行比较.我可能这样做是为了仔细检查算法的实现,或者我可能想要添加额外的计算.

也许我过度思考这个问题,应该简单地用注释来描述变量是什么.我倾向于支持自我记录代码(使用描述性变量名而不是添加注释来描述它们是什么),但也许这是一个注释非常有用的情况.

我知道这个问题可能是主观的,但我想知道是否有人有任何指导原则来做出决定,或者有编码数学算法编码指南的链接.

nat*_*han 8

我更喜欢使用更具描述性的变量名称.您不能保证每个看到代码的人都可以访问"本书".你可以离开并拿走你的副本,它可能会绝版等等.在我看来,最好是描述性的.

我们在工作中使用了大量的数学参考书,我们在评论中引用它们,但我们很少使用相同的数学缩写变量名.