创建人员:Codex
文件职责:定义通用编码注意事项、编码流程、验收方式、问题修复原则,适用于管理体系下的多个项目。
管理规范/模板:../../管理系统说明.md;../../全局规范.md;开发环境创建指南.md;开发审计规范.md;非临时文件应能追溯到事项、需求、方案、验收结果。
引用文件:../../管理系统说明.md;../../全局规范.md;开发环境创建指南.md;开发审计规范.md;编码方案范本.md;AI管理体系建议.md;旧项目开发规范已去项目化抽象。
记录方式:全局编码规范文档;编码流程、方案要求、测试验收或问题修复口径变化时更新。
统一依赖:本规范必须同时遵守 ../../全局规范.md 和 ../project-doc/项目规范.md;项目本地编码规范可补充流程,但不得违反全局规范、全局项目规范和本体系硬约束。
本规范用于约束 AI 或人工在项目中编写、修改、验收代码的全过程。
核心目标:
适用于管理体系下所有项目的:
小脚本可以简化流程,但不能跳过输入输出说明、基本自检和结果记录。
开发体系默认随项目创建,但不单独承载业务目标,必须绑定目标体系或目标事项。
开发产物按目标体系分账:
dev/<target>-dev/。dev/<target>-dev/test/。dev-doc/<target>-doc/。dev-doc/ 根级账本,不在目标目录复制第二套。dev-doc/开发审计报告.md;实验开发写 exp-doc/实验审计报告.md;案例分析开发写 ana-doc/案例审计报告.md。常见映射:
dev/pro-dev/、dev/pro-dev/test/、dev-doc/pro-doc/。dev/exp-dev/、dev/exp-dev/test/、dev-doc/exp-doc/。dev/ana-dev/、dev/ana-dev/test/、dev-doc/ana-doc/。不得把所有代码、测试或开发文档直接堆到 dev/ 或 dev-doc/ 根目录。
每个项目的根级 dev-doc/编码规范.md 不能只写“引用 common 规范”。目标开发工作区 dev-doc/<target>-doc/ 不再创建第二份编码规范,只放目标代码文档和方案附件。
本地编码规范至少要包含:
核心开发文档作用说明至少覆盖:
| 文档 | 作用 |
|---|---|
目录导读.md |
说明开发目录结构、代码入口、测试入口、当前事项和审计入口 |
编码规范.md |
记录本地编码规范和 common 规范引用 |
开发审计规范.md |
记录本地开发审计规范和 common 审计规范引用 |
开发事项总纲.md |
记录开发事项背景、目标、边界、状态和结论 |
开发事项计划.md |
记录开发计划、步骤、输入输出、验收方式和审计入口 |
开发方案/ |
重型开发时按事项创建具体编码方案文件,例如 开发方案/<CODE-DESIGN-ID>.md;轻量开发不创建 |
开发执行日志.md |
记录编码、测试、自检、中间结果、异常和偏离 |
开发审计报告.md |
记录方案审核、实现审核、测试验收和复审结论 |
开发问题记录.md |
记录非审计来源开发问题;审计问题只做跨轮索引 |
编码前必须先明确:
如果需求中的字段、接口、边界、验收标准不清楚,不应靠代码猜。应先记录为需求问题,再修需求或补说明。
以下情况必须先写代码编写方案,再写代码:
审查代码时要优先找会影响结果、阻断流程、污染数据、造成不可追踪的问题。
不应把命名小差异、文档措辞不优雅、非关键诊断项缺失,升级成主流程阻断问题。
多个模块都需要的能力,应抽成公共函数、公共类或公共 helper。
典型公共能力包括:
禁止在多个模块里复制粘贴同一套核心判断逻辑。
重要运行必须能回答:
编码前按以下顺序执行:
如果本次是需求体系交付到开发的事项,还必须先读项目本地 pro-doc/需求规范.md、pro-doc/需求规范.md,以及需求文档引用的需求方案、架构文档、模块说明文档、核心流程文档。若这些上游需求文档缺失或互相冲突,应按需求问题退回,不得靠代码补口径。
如果本次是实验开发、案例分析开发或项目工具开发,也必须读取对应目标体系规范和事项账本;开发规范只约束怎么写代码,不替代目标体系的业务流程。
不同规模的代码任务按三类处理,不要把所有任务都套进重流程。
适用范围:
这类任务通常不需要先写需求文档,也不需要写代码编写方案。
需求体系正式交付到开发的事项,默认不适用“无需求文档的轻量实现”。如果需求侧只给了口头要求或草案,应先回到需求流程形成可审计需求,再进入开发。
执行流程:
最低交付:
适用范围:
这类任务可以不写代码编写方案。
执行流程:
最低交付:
适用范围:
这类任务必须在需求文档没有明显问题之后,先写代码编写方案,再写代码。
执行流程:
最低交付:
本节只适用于“有需求文档的重型实现”。轻量任务不强制写完整代码编写方案。
默认开发体系不创建空的 编码方案.md。重型开发发生时,按开发事项创建具体编码方案文件,例如 dev-doc/开发方案/<CODE-DESIGN-ID>.md 或 dev-doc/<target>-doc/开发方案/<CODE-DESIGN-ID>.md。写方案时必须满足本节要求;如需要参考写法,可以看 编码方案范本.md,但不得把范本机械复制成无实际内容的方案。
代码编写方案至少包含以下内容。
代码编写方案必须经过审核员审核通过后,才能进入代码编写阶段。未审核、审核不通过、或审核意见未处理完成时,不得开始实现。
必须说明:
必须识别多个模块共用的逻辑,并说明:
性能优化不是代码编写方案的必选项。
如果本次改动存在明显性能风险,应提前识别:
如果存在明显性能风险,方案中要写明优化策略,例如分块、索引、缓存、流式写出、原子落盘、进度日志、断点续跑。
如果没有明显性能风险,可以只写“本次无明确性能瓶颈,暂不设计专项优化”,不要为了形式强行增加性能优化章节。
必须写清:
对可能频繁变化的部分,要明确扩展点:
不得把频繁变化的业务规则散落在多个硬编码 if-else 中。
贯穿全流程的字段、ID、状态、枚举应尽量统一。
如果必须保留旧字段 alias,必须明确:
长流程必须写清重跑原则:
不能只靠“文件存在”判断可复用。
必须列出容易出错的关键点,例如:
重要流程建议输出:
run_meta.yaml 或 run_meta.jsonconfig_snapshot.yaml 或 config_snapshot.jsonruntime.logoutput_manifest.csvselfcheck.mdevidence_chain.md日志至少包含:
长流程必须有进度日志,不得长时间无输出导致无法判断是正常运行还是卡死。
主流程中的校验只应覆盖核心合同:
主流程不应被过重的外围诊断项卡死。
复杂数据校验应做成外部只读 helper,而不是塞进主流程。
helper 只允许:
helper 不允许:
不要为了“看起来严谨”无限增加 gate。
只有会影响主流程正确性、数据安全、结果可信度的检查,才应成为主流程硬 gate。
发布级、审计级、归档级、诊断级检查,应放在对应层级,不得混进样本、smoke、10k、50k 的核心执行链。
推荐分层:
不得直接用全量跑批替代前置验证。
验收至少考虑:
通过标准必须明确:
发现问题后先分类:
需求问题不能只改代码绕过去,必须先修需求或补合同。
反复出现的问题,优先修公共入口和主路径,不要只修报错点。
如果多个模块都有同类问题,应:
问题关闭前必须满足:
多 AI 并行时必须遵守:
性能优化要遵循:
长流程必须设计重跑策略:
复用中间产物时必须校验:
半成品、失败包、空壳文件不得被当作可复用产物。
禁止:
正式交付代码至少应包含:
一句话原则:先把目标、接口、数据、验收、重跑讲清楚,再写代码;代码要解决真问题,不要用过重校验拖垮主流程。