变量名百分比从0到1。

20

看起来好像我应该在开始编程时就想到这个问题了,但我想当时我并不关心“完美”的变量命名。

所以我有两个变量:

float lifeTime; float age;

其中 lifeTime 是我的对象的完整生命周期,age 是对象当前的生命时间。当 age 达到 full lifeTime 时,对象将死亡。

我只是创建了一个变量,它的范围从 0 到 1,定义了 age 相对于 full lifeTime 的进度。如果你愿意,可以称其为 agePercent。当然,agePercent 不正确,因为它的范围是从 0 到 1。

在阅读了一些其他帖子关于 ageFraction、ageGradient 和 ageNormalized 后,我觉得这些都不适合这个目的。

我的解决方案是 agePerunum,简单使用拉丁文(我相信是正确的,但我在高中辍学了)。所以我的问题是……这样好吗?作为程序员,这对你有意义吗?有什么想法或更好的建议吗?

http://mymemory.translated.net/en/Latin/English/per-unum


谢谢!该变量直接用于计算,显示的肯定是百分比值,而不是 perunumage 值。我理解你的观点。 - user3294236
1
我喜欢 fraction 这个词,因为它明确表示它不超过整体。 - igagis
@igagis 我喜欢这个,我之前对这个“微不足道”的问题感到很困惑,现在我要用它了。 - Ferenc Dajka
4个回答

5
实际上,我非常喜欢proportion这个词,但最终选择了ageRatio - 以某种方式,它读起来更好;) 谢谢大家!

5

2

我在我的代码中遵循以下约定:

  • 如果变量/参数的范围在[0,1]之间,请使用Percent:例如OwnershipPercent
  • 如果变量/参数的范围在[0,100]之间,请使用Percent100:例如OwnershipPercent100

百分比或百分之一表示每百个,因此应该从0到100。 - Alex Che
@AlexChe 很多API在浮点/双精度数据类型中以[0-1]范围表示百分比,所以除非我们有一个专门用于百分比的数据类型,否则我们无法避免它。 - undefined
术语“百分比”在数学中有非常具体的定义,它表示从0到100的数字。当我遇到一个叫做“SmthPercent”的东西时,我肯定期望得到一个在0-100之间的数字。而且我可能不会立即遇到错误,因为0-1是有效百分比范围的一部分。在软件开发中,给某个东西命名的主要要求可能是明确和清晰。事实上,某个地方有一些命名不当的API,可能很难成为将这种糟糕的命名扩展到我们的代码的理由。至少它已经是普遍使用的了。而在这种情况下,它并不是。 - undefined

0

有趣的问题,尽管很可能没有正确答案,答案将基于个人意见。

我理解为什么您觉得使用“percent”可能不正确,但我必须说,“per unum”对于第一次阅读代码的人来说会更难解析。即使这样,它很可能最终成为一种尝试花哨而不是准确或清晰的尝试。

如果您可以区分数字的呈现方式与其存储和计算方式,那么我认为“percent”实际上是可以接受的。为此,我会看一下Excel - 它将值如45%表示为45%(或应用的任何格式),但在内部仍将该值存储为从0-1变化的十进制数,因此45%将为.45。

决策还将受到您打算如何使用年龄进度的影响。您是否将其作为百分比值“显示”?如果是,那么命名变量百分比就可以了。或者,您是否将其用作其他计算的偏置值或比率?

无论如何,在变量旁边添加文档注释将有助于澄清事情,现代编辑器通过工具提示显示文档注释。


1
谢谢!是的,它被“内部”使用,但当然其他程序员可能/将在某个时候看到它。我想这是真的,我暗自希望这种命名方式会流行起来,其他程序员会适应它 - 但我永远不想成为那个人... :P - user3294236

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接