
书: https://pan.baidu.com/s/1LWWovU7IScpiddLrDhjl1w?pwd=pc5n
笔记如下:
- 代码简洁性:代码应尽可能简单直接,避免不必要的复杂性。
- 可读性优先:代码是给人读的,其次才是机器执行,命名和结构要清晰。
- 单一职责原则:每个函数/类只做一件事,并做好。
- 避免重复(DRY):重复代码是维护的噩梦,抽象成函数或模块。
- 最小化依赖:减少模块间的耦合,依赖越少,系统越健壮。
- 防御式编程:检查输入有效性,处理异常情况,但不过度设计。
- 代码即文档:通过清晰的命名和结构减少注释需求,必要时补充“为什么”而非“做什么”。
- 逐步优化:先写正确代码,再优化性能,避免过早优化。
- 版本控制纪律:小步提交,描述清晰的提交信息,分支策略一致。
- 测试驱动开发(TDD):先写测试再编码,确保可测试性和覆盖率。
- 拥抱重构:持续改进代码设计,技术债务要及时偿还。
- 避免全局状态:全局变量是隐藏的依赖,尽量用局部状态或依赖注入。
- 接口优于实现:定义清晰的接口,隐藏实现细节,便于扩展。
- 工具自动化:自动化构建、测试、部署,减少手工操作错误。
- 理解底层原理:知其然且知其所以然,避免盲目依赖框架。
- 代码评审文化:通过同行评审发现潜在问题,分享知识。
- 问题分解能力:将大问题拆解为小模块,分而治之。
- 保持学习心态:技术迭代快,定期更新知识库,避免僵化。
- 用户思维:代码最终服务于用户,始终考虑用户体验和需求。
- 可持续性:写能维护5年的代码,而非只跑5分钟的脚本。