主要观点:多年后仍有初级开发者,资深开发者分享个人软件开发哲学,包括避免重写、合理安排时间、自动化良好实践、考虑异常数据、追求更优代码、可测试性等方面。
关键信息:
- 重写风险:重写看似诱人实则危险,避免重写可避免犯错及相关风险,如技术债务累积等。
- 时间安排:理解软件开发中前 90%耗时 90%,后 10%耗时 90%,要预留时间进行代码打磨等工作。
- 自动化实践:有两种让开发者改变行为的方式,自动化能机械地执行最佳实践,但不是万能的。
- 考虑异常:关注边缘情况,思考代码可能失败的方式,处理各种可能性。
- 追求更优:预算时间后回顾是否有更好的写法。
- 可测试性:定义良好接口和减少副作用,难以测试的代码可能未正确封装。
- 明显正确:代码不仅要无错,还要明显、直观、简单正确。
重要细节: - 重写的警告信号包括技术债务累积等。
- 代码打磨包括处理边缘情况等工作。
- 自动化可通过添加自动测试等方式实现。
- 讨论中提到文档存储位置、构建环境等问题及改进建议。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。