不知道大家有没有这样的感觉, 刚入行的时候比较喜欢读一些新书, 尤其是讲时髦技术的书. 摸爬滚打两三年之后, 大概率会感觉到有个瓶颈期, 这时候读书就比较偏向于选择一些分享经验总结的书籍. 所以这次趁着放假, 特来分享几本经验性的书籍.这几本书都比较薄, 一般两三天就可以读完一本. 适合有一两年实际工作经验的读者, 自己踩过坑再读最能领会其精髓.软件设计哲学豆瓣链接: 这是本 2018 年的书, 作者是斯坦福教授、Tcl 语言发明者 John Ousterhout.本书核心论点: 软件设计的核心在于降低复杂性.前 11 章是本书的精华, 定义了复杂性, 并分析了其产生的原因, 及可能导致的后果. 接下来描述了各种消除复杂性的策略, 包括: 1. 模块化设计, 2. 信息隐藏, 3. 分层抽象, 4. 错误处理.虽然看起来都是一些再熟悉不过的词, 但由作者这样经验老道的大师分析下来, 确实给人一种眼前一亮, 醍醐灌顶的感觉.不过本书没有引进国内, 所以想看的话只能到书栈网之类的网站上找找民间翻译的版本了. 水平不错的话也可以直接买英文版.SQL 语言艺术豆瓣链接: 这本 2008 年出版的书, 是由有着 25 年 SQL 性能调优经验的大牛 Stéphane Faroult 编写的.和一般讲 SQL 概念的书不一样, 本书将 SQL 调优比喻成一场战争, 从战略部署开始讲起, 直到每个具体的战役, 甚至还有锦囊妙计. 每个章节都结合了作者自身的实际经历, 非常的充实.这本书直接就能买到中文版实体书, 限于篇幅我就不多介绍了. 网址: 这其实是不是书啦, 而是一份文档, 自带中文. 经常看到有人争执接口设计方面的问题, 所以拿出来分享下. 我几年前也经常和同事在这种问题上争得不亦乐乎, 不过一般来说我们争论的出发点都是为了自己编码方便, 等到几年后再看当时的 API 设计, 才深刻地感受到当时自己给团队挖了多大的坑. 所以有次开会就确定下来, 所有的 API 不论对外对内, 都按这份文档设计. 之后就没怎么在这上面浪费时间了, 而且接口兼容性也比之前好了不少.其实还有一个额外的好处, 就是几乎不用自己想接口和字段的名字了, 我对起名这种事真的是苦手…先分享这三本书吧, 一周刚好可以读完. 有读过的 V 友也可以来分享下感想. 如果有其他值得一读的非常经典的经验性书籍, 也欢迎在留言中分享.
没有回复内容