可以说我试图在一次技术会议上描述我的代码。
首先,我将布尔值设置
foobar
为true
和
其次,我将布尔值设置
foobar
为false
似乎有点罗word。如果foobar
被拨动,我可能会说,
第三,我切换
foobar
通过这里的含义,您知道它是布尔值。所以我不应该能够:
第四,我对 foobar进行了真实化
和
第五,我伪造 foobar
通过暗示,哪个还会告诉我的听众我们正在处理布尔变量?有合适的术语吗?谢谢。
可以说我试图在一次技术会议上描述我的代码。
首先,我将布尔值设置
foobar
为true
和
其次,我将布尔值设置
foobar
为false
似乎有点罗word。如果foobar
被拨动,我可能会说,
第三,我切换
foobar
通过这里的含义,您知道它是布尔值。所以我不应该能够:
第四,我对 foobar进行了真实化
和
第五,我伪造 foobar
通过暗示,哪个还会告诉我的听众我们正在处理布尔变量?有合适的术语吗?谢谢。
Answers:
当然,您也可以使用“将其设置为true”和“将其设置为false”。
如果可能的话,您应该尝试描述它代表的内容,而不是只关注布尔值。一些例子:
这样,您就可以更自然地交谈。因此,在您的会议中,您只需“启动foobar然后停止它”(如果foobar实际上是一种服务),而不是“对foobar进行伪造然后对其进行伪造”。
当您确实需要讨论布尔值时,可以使用“设置/重置”或“设置为true”和“设置为false”。在所有情况下,“切换”听起来都很好。
而且,如果您在一家布尔商店工作(可能意味着什么),那么您可能需要的单词比字典所提供的要多。在这种情况下,诚实和伪造只是您的微话的一部分。
signal = HighVoltage
或者signal = Active
IMHO比signal = true
。
isStarted
,isActive
,isCaseSensitive
,mockConnection
,... @PieterB:我部分同意你的看法。“设置布尔值”本质上并不意味着将其设置为true。但是,“设置isActive
标志”可以合理地解释为将其设置为true。
signal = true
确实还不清楚,但是如果您要使用,signal = Active
则不妨使用isSignalActive = true
。请注意,这主要适用于明显互斥且精确互补的描述符。活动/不活动符合要求。HighVoltage不会,因为“非高压”可能表示“低压”,也可能表示“低压或中压”。在后一种情况下,布尔参数显然不适用。在前者中,确实如此。
我喜欢“设置” /“清晰”,但请注意措辞不明确。正如Filip指出的那样,“设置布尔变量”可以理解为向变量写入一些值。但是“设置标志”更为明确。
相关术语:将0 /非零整数转换为0/1值称为“布尔化”。
如果实际上将0/1值用作整数(而不是true / false bool
),则可能要使用该词。否则,只有在谈论编译器必须执行的操作成本时,它才会出现。(或者,如果您正在使用SIMD进行手动矢量化比较,则在每个矢量元素中产生全零/全一比特)。
在C和C ++中,a bool
可以隐式转换回为0或1的整数,并且在常规实现bool
中存储为1字节的值,该值可以为0或1(而不仅仅是任何非零值)。允许高效a && b
,但实际上许多C编译器都缺少优化。
bool booleanize(int a) { return a; } // C++
ret
在大多数体系结构上,该函数可编译为多个指令(不包括)。(MIPS是一个有趣的例外,具有比较寄存器指令,而不是单独的标志/条件代码寄存器)。 在适用于x86-64,MIPS和ARM thumb的Godbolt编译器浏览器上,我们可以看到x86-64版本是:
test edi, edi # set flags according to a & a
setne al
ret # return value in AL, the low byte of RAX
对不起,这个布尔化的例子有点大/没意思!
“设置”是描述将值分配给变量的行为的正确方法。如果您想对此进行深入研究,可以将其称为“任务”,但是“集合”非常普遍。实际上,编写setFoobar()
(和getFoobar()
)执行分配的方法是惯用的Java 。C#在get
和set
属性定义方面走得更远。
关于使用“真实化”和“伪造”来“通过暗示,告诉我的听众我们正在处理布尔变量”的第二点,当您说时,您已经告诉听众该变量为布尔值:
我设置
Foobar
为true
isFoobar()
将布尔值从更改true
为false
,反之亦然称为取反。
将布尔值设置false
为会伪造布尔值。如果您说“实话实说”,我会理解的,但这听起来不对。我不确定动词是做什么用的true
,所以它可能是正确的。
在您开始使用“真实”的意愿之前,我会等一个更好的答案的人来。