左或右应表示为布尔值还是枚举[关闭]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了左或右应表示为布尔值还是枚举[关闭]相关的知识,希望对你有一定的参考价值。

对于包含布尔值和枚举作为基本类型的任何语言,我应该将该类型用于存储是否为leftRight的变量。

我最初的直觉是使用枚举,因为它更具描述性 - 绝对是枚举的一大优点。

但是在我看来,在一个值必须是LeftRight的情况下,布尔值会更安全且内存效率更高 - 这两个点都支持或使用布尔值。

还有一个问题是布尔值具有自然方向,但对于像Left Right这样的值,没有自然映射意味着你需要使用类似这样的值isLeft - 反对使用布尔值。

是否存在这样的值的约定或最佳实践,这些值既是二元的又是独占的,但是对于开/关,零/一或任何其他自然布尔解释没有任何直接对称性?

答案

上下文:我主要使用C ++

我会使用一个枚举器。我不知道看某人的项目true是否意味着leftright没有检查文档,但是对于调查员来说显然是这样。我还担心代码的不同部分会改变默认值。

您可以使用常量(例如,const bool left = true;)绕过更改的默认值,但这会在代码中引入其他有趣的选项(bool is_on = right;)。

另一答案

我不知道其他开发人员的意见是什么,但我的意思是:你的编码效率越高越好,可读性就是第二。

所以布尔几乎总是更有效率。这就是我要去的那个。

以上是关于左或右应表示为布尔值还是枚举[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SwiftUI 中实现触发 switch case 的左或右 DragGesture()?

如何在矩阵中移动列(左或右)?

BFS洪水

布尔值作为方法参数是不可接受的吗? [关闭]

51nod 最近刷题 简要题解

安卓中的左或右拉框-DrawerLayout