2

这显然取决于您使用它们的上下文,但是,我想知道是否有一种普遍接受的方式来命名这些变量,或者至少在数学上下文中。

我经常看到:

float k         = someValue;
float oneMinusK = 1 - k;

...这对我来说似乎既具有描述性又毫无意义。

请注意,我不是在问如何命名变量,而是在这种情况下如何命名。非常感谢您使用它们的示例和上下文,

谢谢。

4

8 回答 8

14

假设 k 是 X 发生的概率,概率 1-k 是 X 不发生的概率。

所以

float will_win_lottery = 0.00000000001;
float will_not_win_lottery = 1 - will_win_lottery;
于 2008-10-11T11:26:16.570 回答
9

您应该根据您正在处理的领域而不是您用来生成它的算法来命名您的变量。因此,如果 k 代表您的门牌号,则 k-1 可能代表您隔壁邻居的门牌号。相应地命名它。

于 2008-10-11T11:22:41.413 回答
7

我称它为Complement

于 2008-10-11T11:41:52.187 回答
2

当我需要它时,我可能会计算出来。您认为将其存储在变量中可以节省多少时间?请记住,过早的优化是万恶之源。

于 2008-10-11T12:02:04.283 回答
1

如果不知道“k”代表什么,就无法回答您的问题。具有讽刺意味的是,这不可能的原因首先是变量“k”的命名不当,所以这才是你应该担心的。如果你给“k”一个更具描述性的名字,那么“k-1”的一个好的命名选择应该很自然,就像“will_win_lottery”和“will_not_win_lottery”的例子一样。

于 2008-10-20T01:08:34.003 回答
0

这些应该是常数吗?

如果您只是出于易读性的原因而这样做,为什么不按照 la Dan 的建议创建一个方法。

float complement(float n) { return (1.0 - n); }
于 2008-10-11T12:23:41.633 回答
0

您的用法似乎已经足够具有描述性,请继续使用。

于 2008-10-11T13:56:13.443 回答
-2

真的有关系吗?使用我;它的描述性并不比 k 低。如果您是关于代码描述性的强迫症,则需要记录/注释此类事情。

于 2008-10-11T11:28:36.127 回答