布尔值的任何助记符?

时间:2009-02-16 19:11:05

标签: boolean mnemonics

我想这对于大多数优秀的 1 程序员来说都是微不足道的,但我已经习惯使用truefalse 2进行编程当我遇到0和1时,我永远无法记住哪一个意味着真实,哪一个意味着错误。

有什么建议吗?

1 好:I mean one who knows C, of course :)
2 我是一名Java开发人员,正如您所猜测的那样;)

11 个答案:

答案 0 :(得分:9)

助记符是“这有多少真相?”零整数意味着零真相。其他任何事情都是非零事实。 :)

答案 1 :(得分:4)

我有一个同事,他的桌子旁边的墙上贴了便利贴:

  

假= 0
  真!= 0

答案 2 :(得分:4)

如果你真的遇到麻烦,我会用这种语言来抽象它。

e.g。在C

#define TRUE 1
#define FALSE 0

一般来说,我会避免在代码中出现常量。

考虑,

if(my_var == TRUE)

而不是,

if(my_var == 1)

尽管如此,你需要确保你正在测试正确的事情,

if(my_var != FALSE)

会抓住更多案件。

干杯!

基督教

答案 3 :(得分:3)

“哦不!”
(哦== 0)

答案 4 :(得分:3)

这很复杂,因为在shell(sh,bash)中,true为0,false为1:

$ true
$ echo $?
0
$ false
$ echo $?
1

答案 5 :(得分:3)

你有没有注意到日常用品的电源开关使用circle for off, and a line for on

将它们联系起来并不是一件容易的事。

Off = circle = zero = false

On = line = one = true

答案 6 :(得分:2)

记住“没有== false”,“有些东西== true”

答案 7 :(得分:2)

没有助记符 - 如果你来自硬件背景,它会变得更加复杂。但对于程序员来说,只需提出问题:

是否设置了位?

答案是真还是假,结果是。只有0(即使在有符号整数中)没有设置位。

- 亚当

答案 8 :(得分:1)

将两者都映射到OnOff。我认为大多数程序员都会以相同的方式映射两个集:1 / true都是'On',而0 / false都是'Off'。

答案 9 :(得分:1)

这取决于语言。

  • C ( 0 ? "never happens" : "false")( 1 ? "true" : "never happens")

  • Ruby ELisp 01都是真的

  • bash (或 cmd.exe ):true命令(来自coreutils)退出时带有0状态代码, false命令以非零状态代码退出

许多现代流行的编程语言具有强大的C语言传统,因此他们认为0为假,1(或任何非零数字)为真。

不要将助记符用于布尔值,使用语言的习语来测试真实性。

答案 10 :(得分:0)

爱c - 因为你不能成倍增加谎言。 :)