You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何命名互斥选项的布尔变量?明确True/False对应选项

清晰命名互斥布尔变量的实用方案

完全懂你的痛点——那种模糊的lChickenOrFish式命名,真的会让后续看代码的人(包括几周后的你自己)挠头半天,必须翻实现才能搞懂True到底对应选鸡肉还是鱼肉。针对这种二选一的互斥场景,核心思路就是让变量名直接回答“是否选中了某一个明确选项”,而不是只告诉你有两个选项可选。

给你几个具体的命名方案,按需选用:

  • 直接指向选中的目标:
    最直观的方式就是用isChickenSelected,或者更简洁的selectedChicken(如果上下文已经明确是选餐这类场景)。看到这个变量名,瞬间就能明白True代表选了鸡肉,False自然就是选了鱼肉(毕竟是互斥的)。如果其中一个选项是默认值,这种命名会更合适——比如默认选鱼肉,那isChickenSelected为True就清晰表示“偏离默认选了鸡肉”。

  • 用“偏好/类型”强化语义:
    如果变量代表的是用户偏好或者固定类型,而非临时选择,可以用prefersChicken或者mealTypeIsChicken。这种命名能更明确变量的用途,比如在用户个人设置里,prefersChicken一看就知道是用户的长期饮食偏好设置。

  • 避坑提醒:别用模糊的“或”命名:
    像lChickenOrFish这种命名的最大问题就是没有指向性,加上前缀l(哪怕是局部变量标识)也没任何帮助。这种模糊的“XOrY”格式只会增加认知负担,能避开就避开。

另外还有个进阶小技巧:如果未来有可能扩展选项(比如以后要加牛肉选项),那不如直接用枚举类型,比如enum MealOption { Chicken, Fish },这样语义绝对清晰,后续扩展也更方便。但如果确定永远是二选一,布尔变量加清晰命名就足够高效了。

内容的提问来源于stack exchange,提问作者Tesset

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:46:08