3

分享一些有助于提升程序设计水平的书籍

 2 years ago
source link: https://www.v2ex.com/t/831291
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

不知道大家有没有这样的感觉, 刚入行的时候比较喜欢读一些新书, 尤其是讲时髦技术的书. 摸爬滚打两三年之后, 大概率会感觉到有个瓶颈期, 这时候读书就比较偏向于选择一些分享经验总结的书籍. 所以这次趁着放假, 特来分享几本经验性的书籍.

这几本书都比较薄, 一般两三天就可以读完一本. 适合有一两年实际工作经验的读者, 自己踩过坑再读最能领会其精髓.

A Philosophy of Software Design

软件设计哲学

豆瓣链接: https://book.douban.com/subject/30218046/

这是本 2018 年的书, 作者是斯坦福教授、Tcl 语言发明者 John Ousterhout.

本书核心论点: 软件设计的核心在于降低复杂性.

前 11 章是本书的精华, 定义了复杂性, 并分析了其产生的原因, 及可能导致的后果. 接下来描述了各种消除复杂性的策略, 包括: 1. 模块化设计, 2. 信息隐藏, 3. 分层抽象, 4. 错误处理.

虽然看起来都是一些再熟悉不过的词, 但由作者这样经验老道的大师分析下来, 确实给人一种眼前一亮, 醍醐灌顶的感觉.

不过本书没有引进国内, 所以想看的话只能到书栈网之类的网站上找找民间翻译的版本了. 水平不错的话也可以直接买英文版.

The Art of SQL

SQL 语言艺术

alt 属性文本

豆瓣链接: https://book.douban.com/subject/3012601/

这本 2008 年出版的书, 是由有着 25 年 SQL 性能调优经验的大牛 Stéphane Faroult 编写的.

和一般讲 SQL 概念的书不一样, 本书将 SQL 调优比喻成一场战争, 从战略部署开始讲起, 直到每个具体的战役, 甚至还有锦囊妙计. 每个章节都结合了作者自身的实际经历, 非常的充实.

这本书直接就能买到中文版实体书, 限于篇幅我就不多介绍了.

Google API 设计指南

网址: https://cloud.google.com/apis/design/

这其实是不是书啦, 而是一份文档, 自带中文.

经常看到有人争执接口设计方面的问题, 所以拿出来分享下. 我几年前也经常和同事在这种问题上争得不亦乐乎, 不过一般来说我们争论的出发点都是为了自己编码方便, 等到几年后再看当时的 API 设计, 才深刻地感受到当时自己给团队挖了多大的坑.

所以有次开会就确定下来, 所有的 API 不论对外对内, 都按这份文档设计. 之后就没怎么在这上面浪费时间了, 而且接口兼容性也比之前好了不少.

其实还有一个额外的好处, 就是几乎不用自己想接口和字段的名字了, 我对起名这种事真的是苦手...

先分享这三本书吧, 一周刚好可以读完. 有读过的 V 友也可以来分享下感想. 如果有其他值得一读的非常经典的经验性书籍, 也欢迎在留言中分享.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK