编程经验和最佳实践
编程经验
- 函数遵循单一职责原则
- 尽量减少函数之间的隐式共享状态
- 将“副作用”局部化,理想的副作用(例如:打印到控制台、日志记录、更改全局状态、文件系统操作等)应该被放置到单独的模块中,而不是散布在整个代码里面。函数中的一些“副作用”功能往往违反了单一职责原则。
- 优先使用不变的对象(在其构造函数中仅被设置一次,并且从不再次更改)
- 多用接口少用类,避免继承
- 寻找机会将项目分解成更小的模块(例如库和应用程序),以促进模块级别的重用。对于模块,原则是高内聚、低耦合、不重复
- 将测试作为设计和开发的一部分
- 优先使用标准库而不是手写的
- 避免编写新的代码,多复用
阅读代码
- 读你依赖的、崇拜的、好理解的代码
- 先从整体上把握项目结构和模块安排
- 多做注释记录阅读过程中的发现、假设和结论
- 不要只阅读,应该执行、改变内容、再执行,结合日志信息对照理解代码