【发布时间】:2010-09-16 16:14:30
【问题描述】:
这显然取决于您使用它们的上下文,但是,我想知道是否有一种普遍接受的方式来命名这些变量,或者至少在数学上下文中。
我经常看到:
float k = someValue;
float oneMinusK = 1 - k;
...这对我来说似乎既具有描述性又毫无意义。
请注意,我不是在问如何命名变量,而是在这种情况下如何命名。非常感谢您使用它们的示例和上下文,
谢谢。
【问题讨论】:
这显然取决于您使用它们的上下文,但是,我想知道是否有一种普遍接受的方式来命名这些变量,或者至少在数学上下文中。
我经常看到:
float k = someValue;
float oneMinusK = 1 - k;
...这对我来说似乎既具有描述性又毫无意义。
请注意,我不是在问如何命名变量,而是在这种情况下如何命名。非常感谢您使用它们的示例和上下文,
谢谢。
【问题讨论】:
您应该根据您正在研究的领域而不是您用来生成它的算法来命名您的变量。因此,如果 k 代表您的门牌号,则 k-1 可能代表您隔壁邻居的门牌号。相应地命名它。
【讨论】:
在概率 1-k 中是 X 不发生的概率,假设 k 是 X 发生的概率。
所以
float will_win_lottery = 0.00000000001;
float will_not_win_lottery = 1 - will_win_lottery;
【讨论】:
这真的很重要吗?使用我;它的描述性不亚于 k。如果您是关于代码描述性的强迫症,则需要记录/注释此类事情。
【讨论】:
我会称之为Complement。
【讨论】:
我可能会在需要时进行计算。您认为将其存储在变量中可以节省多少时间?请记住,过早的优化是万恶之源。
【讨论】:
这些应该是常量吗?
如果您只是出于易读性的原因而这样做,为什么不按照 la Dan 的建议创建一个方法。
float complement(float n) { return (1.0 - n); }
【讨论】:
您的用法似乎已经足够具有描述性,请继续使用。
【讨论】:
如果不知道“k”代表什么,就无法回答您的问题。具有讽刺意味的是,这不可能的原因首先是变量“k”的命名不当,所以这才是你应该担心的。如果你给“k”一个更具描述性的名字,“k-1”的一个好的命名选择自然而然,就像在“will_win_lottery”和“will_not_win_lottery”的例子中一样。
【讨论】: