可限制变量取值范围的数据对象是什么?相关最佳实践名称已遗忘
你要找的是枚举(Enum)类型!
嘿,完全懂这种“记得做法但忘了名字”的挠头时刻😂 你说的用来限制变量取值范围的编程最佳实践,就是枚举(Enum/Enumeration)。
为什么枚举能解决你的问题?
你原来直接用字符串字面量('SHORT'、'LONG')的写法有不少隐患:
- 很容易手滑拼错,比如写成
'SHOR'或者'LONGG',编译器/解释器不会帮你提前发现 - 取值范围不透明,别人看代码根本不知道
size还能取哪些值 - 没有类型约束,随便传个奇怪的字符串都能赋值,埋下bug隐患
而枚举就是专门用来定义一组固定的、命名的常量集合的类型,强制变量只能从这组预定义的值里选择,完美解决这些问题。
举几个语言的实现例子
Java 写法
先定义枚举:
public enum Length { SHORT, LONG, MEDIUM }
然后就可以像你给出的规范写法那样使用:
pencil_1.size = Length.SHORT; pencil_2.size = Length.LONG; pencil_3.size = Length.SHORT; // ...
Python 写法
借助标准库的enum模块:
from enum import Enum class Length(Enum): SHORT = "SHORT" LONG = "LONG" MEDIUM = "MEDIUM" pencil_1.size = Length.SHORT
枚举的核心优势
- 取值范围明确:所有允许的值都在枚举定义里一目了然,不用猜
- 类型安全:只能赋值枚举内的常量,非法值会直接触发报错
- 可读性拉满:
Length.SHORT比'SHORT'更能表达语义,代码更清晰易懂
内容的提问来源于stack exchange,提问作者user823447
相关产品推荐
相关产品推荐

