《程序员修炼之道》第三四章读书笔记
《程序员修炼之道》第三四章
在第三章基础工具中强调了要把工具当成自己的武器库,并且精通它们的使用。要持续进化我们的工具链,书中提到文本是程序员的基本数据心态,而掌握例如正则表达式、shell脚本、awk或python脚本等工具能够极大提升我们处理日志的能力,比如在查看123或125环境日志时可以通过grep管道符轻松筛选出我们所想要查看的日志代码,便于我们定位问题。如果遇到特别复杂的命令可以创建别名来方便我们下次使用。在日常使用IDEA开发中应该多去了解相关快捷键和IDEA的插件生态系它能够极大的提高我们的开发效率。
第四章“务实的偏执”中让我印象最深的是“你无法写出完美的软件”这条提示。软件天生是不完美的,接受这一点,才能在设计时就为失败预留空间。在开发中遇到了很多空指针的问题,原因都是我过于信任数据库的数据以及自己结合前端的必填项造成的错觉认为这肯定是有值的。但是经过多次空指针之后我逐渐的转变了心态,不再追求“假定完美”,而是假定一切都有可能出错,让系统具备处理意外的能力。“尽早崩溃”这一提示中我联想到了同事错误使用try-catch导致的一个线上bug,与其让错误悄悄传播,不如让它尽早崩溃,让我们知道问题确实存在,如果不使用try-catch包裹代码那么在开发过程中更容易发现问题代码,解决问题而不会让问题延迟到线上了。这一章教会我的是一种对系统行为负责的“防御式思维”,不指望完美,要为失败做好准备;不要掩盖错误,要让问题暴露出来尽早解决问题,我想这也是架构会的实际意义所在吧。