用途:该技能用于指导以 Rich Hickey 风格编写函数式代码,核心是区分“简单”(不交织)与“易用”(熟悉、顺手),主张追求简单,即使它并不易用。
主要能力:提供设计原则与代码模式,包括优先使用不可变数据结构;用 map、vector、set 等纯数据;将数据与函数分离;让状态变更显式可控;以时间视角设计(值不改变);用 map 替代对象、纯函数替代方法、组合替代继承、声明式替代命令式、数据字面量替代构造器、命名空间关键字替代类型。
使用方式:资料给出 Clojure 代码示例,如用 map 表示实体并配合通用函数;用 conj、assoc、update、assoc-in、update-in 创建新数据而非修改原值;用 atom 与 swap! 显式管理状态;用 clojure.spec 描述与校验数据;用 transducer 组合变换避免中间集合;用不可变值实现历史、撤销与快照。
适用场景:适合 Clojure 及函数式编程实践,用于重构面向对象式设计、降低复杂度、提升可测试性与可组合性。
限制:资料未提供安装命令、平台支持、收费或价格信息;示例为 Clojure 代码,其他语言需自行适配。该技能不保证具体效果,使用前应结合项目实际评估。