diff --git a/design/engineering/code-conventions.md b/design/engineering/code-conventions.md index 9d422761..26b24b42 100644 --- a/design/engineering/code-conventions.md +++ b/design/engineering/code-conventions.md @@ -12,7 +12,7 @@ ### 1.1 禁止上帝对象 一个类只承载一个职责。场景主脚本(main)= **组合根**:模式流转、信号接线、核心写调用的唯一出口;渲染、文案拼装、状态装配一律拆分为独立视图/装配器类。单文件超过 ~400 行即触发审视。 -拆分判据(硬纪律):重构类需求卡片必须写明——禁止为迎合机检消息文本(含计数)而保留或新增无效成员/别名;机检键与卡片契约互斥时,实现段一律停卡呈报,不得自造第三条路。 +拆分判据(硬纪律):拆分/收敛/重构类需求卡片与实现段一律写明并遵守——①拆分边界沿职责轴、不沿阈值轴:每个拆出单元(私有函数族/新件/段件/状态件/参数束)须有可陈述的职责语句与单一变化原因;②拆出单元须有集体身份:成员共同表达一个可命名的领域概念,命不出名字、只能说「剩下的成员」的打包=凑计数袋,禁;③「过阈值」只许作为发现信号,作为拆分或收拢的动机即违规;④按上述纪律拆不出内聚单元 → 停卡呈报走豁免/还债通道,禁硬拆凑绿;⑤禁止为迎合机检消息文本(含计数)而保留或新增无效成员/别名;机检键与卡片契约互斥时,实现段一律停卡呈报,不得自造第三条路。①–④=拆分边界纪律(2026-10-28 用户裁:任何拆分满足领域驱动设计〔DDD〕的职责切分与类的高内聚)。 ### 1.2 一切功能以类封装,禁止裸函数堆 设计稿与实现同尺度:功能 = 类(状态 + 行为 + 信号),类是封装的最小交付单位。工具性纯函数只允许挂在明确的宿主类下(静态装配器/工厂),不允许无主散落。