编码风格¶
不可变性(重要)¶
始终创建新对象,不要修改现有对象:
// 疑似コード
誤り: modify(original, field, value) → original をその場で変更
正解: update(original, field, value) → 変更を加えた新しいコピーを返す
理由:不可变数据可防止隐藏副作用,便于调试,并支持安全的并发处理。
文件结构¶
许多小文件 > 少数大文件: - 高内聚、低耦合 - 通常 200-400 行,最多 800 行 - 从大型模块中提取工具函数 - 按功能/领域组织,而不是按类型组织
错误处理¶
始终全面处理错误: - 在所有层级显式处理错误 - 在面向 UI 的代码中提供用户友好的错误消息 - 在服务器端记录详细的错误上下文 - 不要静默忽略错误
输入验证¶
始终在系统边界处进行验证: - 在处理前验证所有用户输入 - 尽可能使用基于模式的验证 - 使用清晰的错误消息尽早失败 - 永远不要信任外部数据(API 响应、用户输入、文件内容)
代码质量检查清单¶
在将工作标记为完成之前: - [ ] 代码易读且命名恰当 - [ ] 函数足够小(少于 50 行) - [ ] 文件聚焦(少于 800 行) - [ ] 没有深层嵌套(不超过 4 层) - [ ] 有适当的错误处理 - [ ] 没有硬编码值(使用常量或配置) - [ ] 没有修改(使用不可变模式)
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 ev/ECC