如@ benjamin-gruenbaum在评论中所指出的,这称为布尔陷阱:
说我有一个这样的功能
UpdateRow(var item, bool externalCall);
在我的控制器中,该值externalCall
始终为TRUE。调用此函数的最佳方法是什么?我通常写
UpdateRow(item, true);
但是我问自己,我是否应该声明一个布尔值,以表明“真”值代表什么?您可以通过查看函数的声明来知道这一点,但是如果您看到类似以下内容,显然会更快,更清晰
bool externalCall = true;
UpdateRow(item, externalCall);
PD:不确定这个问题是否真的适合这里,如果不合适,我在哪里可以得到更多有关此的信息?
PD2:我没有标记任何语言,因为我认为这是一个非常普遍的问题。无论如何,我使用c#,并且可接受的答案适用于c#
data CallType = ExternalCall | InternalCall
例如在haskell中。