二、关键原则与实践
- 保持代码清晰可读
- 命名是最重要的事:变量、函数、类名应准确表达其用途,避免缩写(除非广泛认可)。例如,用 CalculateTotalPrice() 而非 CalcTP() 。
- 注释应解释“为什么”而非“是什么”:好的代码本身应自文档化,注释则用于说明设计决策或复杂逻辑的动机。
- 控制代码复杂度:避免深层嵌套(建议不超过3~4层),使用函数分解长代码块。
- 模块化与封装
- 单一职责原则:一个函数或类应只做一件事,且做好它。
- 信息隐藏:通过访问控制(如private)隐藏内部实现细节,减少模块间耦合。
- 错误处理
- 防御性编程:假设输入可能非法,提前验证。
- 不要忽略异常:即使暂时无法处理,也应记录日志或向上传递。
- 提供有意义的错误信息:便于调试和用户理解。
- 测试驱动开发(TDD)与重构
- TDD强调“先写测试,再写代码”,有助于提高代码覆盖率和设计质量。
- 重构应在有测试保障的前提下进行,目标是“改善设计而不改变功能”。