用途
该技能用于在编写有状态逻辑时,把真实领域编码进数据结构,而不是把领域规则分散到各处条件判断中。当代码分支很多,或在多个文件里重复同一种形态假设时,也适用。
主要能力
技能给出的可选结构包括:
- 用状态机替代散落的布尔值、阶段或生命周期检查。
- 用类型化模型替代松散参数或重复的形态假设。
- 用映射、注册表、查找表或可辨识联合替代跨文件的分支。
- 用 reducer 或命令/事件模型替代临时性的状态修改。
- 用围绕单一领域知识组织的模块,替代“加载、校验、转换、保存”这类按执行顺序划分的模块;执行顺序不等于归属。
- 用小型模块边界聚合重复行为、归属关系或不变量的。
- 在访问模式需要时,使用队列、缓存、索引、图、树或规范化集合。
- 其他任何合适的结构。若都不合适,先弄清代码绝不能允许什么、数据如何被读取,再找到恰好编码这些约束的结构。
使用方式
在编写阶段就选择合适结构,成本较低;事后补救往往会被视为重构而被推迟。技能同时强调不要强行抽象:如果当前形态已经清晰、局部且不太可能增长,优先保留朴素代码。对只增加间接层、却不消除分支、重复规则、非法状态或生命周期风险的抽象应保持怀疑。
适用场景
适用于编写有状态逻辑、代码分支过多,或在多个文件中重复同一形态假设的情况。
限制
资料未提供该技能的具体安装命令、平台支持、收费方式或效果数据。