2019里读过的好书

1,451 阅读6分钟

2019年里我转型做了个大前端. 以前做了八年多的Android开发与几年管理, 现在开始也接触React/ReactNative, 并从新开始做一个React Native版本的公司APP. 因此2019年里我的已读书单比较杂, 有中文的, 有英文的; 有Android的, 有JS的, 有管理的, 有工程的.

一些差一点的书我就不点名了, 一个是可能是我个人觉得不好, 但其它人也许觉得好, 二是也没必要伤害别人. 我就主要点一些好的书吧.

在文末再写一些我在2020年准备看的书.

I. 书籍来源

公司给我们的福利之一就是O'relly的书任意看. O'relly有一个官网, 它里面有这么多书可以免费看, 还有音频书, 视频讲座. 主要还是技术这一块的.

O'relly不用多介绍了吧, 就是那个封面肯定是动物的那个出版社. 它的书质量很高的, 如JavaScript的犀牛书就是O'relly的.

p.s. 题外话: 说它是福利, 是因为在国外书好贵, 一本书七八十刀很正常. 而O'relly的免费读书的会员, 分个人/团队/企业多个类型. 个人类型得是499刀一年. 哈哈, 我是交不起的. 所以这个福利还是蛮好的.

II. 略有亮点的书

1. 思维导图笔记整理术

作者: 胡雅茹
评分: ☆☆

这本书一开始介绍了多种记笔记的方法, 然后重点介绍用思维导图来做笔记. 时不时有些亮点, 还不错. 但重点在于, 这本书偏向于手动在本子上画图, 而不是在电脑上画图. 这一点我就无法接受了. 我的笔记多是要四处带的, 在家里要用, 在公司要用, 在手机上要用. 一出门带好几个大本子的我受不了.

2. Test-Driven React

作者: Trevor Burnham
出版时间: June 2019
评分: ☆☆☆

我一直对大前端的TDD很感兴趣的. 但除了一些逻辑性很有条理的页面, (如一个表格显示结果, 三四个filter选项的变化会引起表格内容的改变), TDD一直都蛮不容易达到的. 所以看到这本书我还是蛮开心的.

一开始, 确实, 作者先写好测试, 再写工程代码, 然后让测试通过. 有点意思. 不过随着项目慢慢深入, 作者自己都改成先写工程代码, 再让测试通过. 这个就有点不是TDD了.

虽然有上面的缺点, 但这本书仍是不错的react入门书, 与react 测试的入门书. 对单元测试感兴趣的react程序员不妨看一下.

3. The Art of Unit Testing, 2nd Edition

Author: Roy Osherove
Release Date: November 2013
Rate: ☆☆☆

其实看到这本书的开头时, 我是被吸引住了. 因为作者描述了这样一个场景:"我们团队到处都写了测试, 但后来随着需求的迭代, 慢慢越来越发现得去频繁更新测试,这样带来了巨大的压力" -- 咦, 这不正是我也在困扰的"可持续性, 扩展性好的测试"问题吗.

作者详细讲述了几种测试的方法:

  • 测试方法返回值
  • 测试引起的内部值变化
  • 测试是否调用了第三方库/类

其中作者觉得前两种比较好. 第三类因为涉及到具体实现细节, 所以不太能扛得住需求的变动, 有不小概率是需求一变, 测试代码也得跟着变. 所以作者推荐前两种.

嗯, 这个观点很新颖, 也有点道理, 我还要有待实践. 但遗憾的是, 这本书在这一点上的论述不是非常多, 让我在这里体会没这么深. 要是作者能多加重讲点测试代码的可维护性, 再多举些例子, 那就更好了.

另一个不好的地方是觉得有点学院派, 什么一定要讲清楚stub与mock的区别, 让我这个实践为主的人有点不太适应. 我其实不太关心这两个的区别, 在我看来都是模拟并注入一个模拟的值. 我感觉只要体会到了"分离依赖"这个点, 并在测试中加以运用就好了.

另外, 作者也说明了一些的场景, 还是不错的. 比如说如何分享依赖, 如何和遗留代码做斗争.

总的来说, 这本书还算不错吧, 只不过我其实对它期望更多. -- 或许是我体会得不多, 也许过段时间再重读, 可能有新收获.

III. 极好的书

1. Head First HTML and CSS (2nd Edition)

作者: Elisabeth Robson, Eric Freeman

评价: ★★★★★

这本书的第一册在以前就看过, 但现在搞React重新捡起来. 我主要是在看css的部分, 觉得写得很合我的脾性, 就是举实例, 然后一步步加深. 让我学习得很深入. 强烈推荐给刚入门web开发的同学

2. Effective TyepsScript

作者: Dan Vanderkam

出版时间: 2019年10月

评价: ★★★★★

O'relly官网是可以提前看书的, 也就是说这书还在撰写之中, 比如说10月出版, 但6月份你就可以看到最初的几章了. 这本书就这样的. 刚开始只有一两章, 但已经很惊艳了. 对于使用TypeScript的同学来说, 这书绝对值得一读.

这书主要是在介绍:

  • 各种TypeScript中的细节点, 比如说Type与Interface的区别,
  • 类型的设计. TypeScript相对于JS当然最主要是新加了类型, 所以在设计上也有讲究.
  • any. TypeScript的代码最怕到处出现的any, 这就没有复用TypeScript的好处. 所以这本书专门有一章讲如何干掉any.
  • 如何迁移到TypeScript来
  • ...

这本书全程看得我爽, 有种相见恨晚的感觉. 以前一些不太明白的TS的点, 看了这书也豁然开朗了. 感谢这本书的作者

3. React状态管理与同构实战

评价: ★★★★★

这本书是我入门React, Redux的书籍. 这本书不仅讲得入门, 在进阶这一块也详细讲了Redux的各个点, 甚至带我们实现了一个简单的Redux.

这本书还介绍了一些性能上的东西, 如让设计更扁平, 减少store中的重复对象.

4. 阿里巴巴Android开发手册

评价: ★★★★★ 阿里的好书. 以前自己整理的一些东西, 再结合这开发手册, 再实践一下, 感觉干货不少. Android开发必备了.

5. The Manager's Path

评价: ★★★★★

市面上管理的书海了去了. 但是这本书从开发, tech lead, 小团队管理者, 大团队管理者, 一阶阶地介绍, 让你有种了解了各种情况的感觉. 其实这书的作者也是这样升职上去的, 所以里面的经验都是他的干货.

这本书并不局限于管理层看, 开发也可以看看, 了解下自己以后的职业规划, 了解下自己头头的想法.

IV. 2020年要看的书

2020年我准备了一个不全面的小书单

  • css的书一本
  • webpack的书一本
  • unity的书一本
  • Uncle Bob的新书: 《Clean Agile》
  • 《Android Espresso Revealed》
  • 《97 Things Every Engineering Manager Should Know》
  • ...