我理解的: 什么是一本好的技术书籍

其实想写这篇文章的原因是,前几天看了本国人写的、书名很唬人的技术书,书也挺厚目录也很高逼格,价格不菲,但是读了几章真的被气到了,很失望,觉得好的技术书确实太少了,且看且珍惜。

Posted by ChenJY on November 30, 2017 | Viewed times

前言

基本从 9.11 面完了爱奇艺点评之后,就一直没有投递新的公司,反正自己除了已经拿到手的 offer,其他唯二想去的也就只有阿里头条了,而阿里已经没戏,头条也一直被卡在笔试,想想真的是 naive,头条内推笔试第一场的题目确实挺容易的,可能是我最接近面试的时候…然而没做好,也再次提醒自己是个算法渣,虽然后来补招的时候约我面试,不过那时候想想还是拒了,北京太远,头条加班也太凶,可能因为我是头条的重度用户,所以一直对这个公司有点好感吧。

因此,这两家基本进不去之后,我的秋招其实也就差不多结束了,剩余的外企说实话,录了也不会去,所以也就不投了。之后的两个月基本都是在寝室打发时间,也总算体会到了什么叫“闲出病来”,有时候放长假真的灰常无聊。因此经常翻翻从图书馆借来的书,也讲讲在我读下来,一本好的技术书需要有些什么特质。

不要无意义地堆代码

这点是我之前没体会过的,我一直觉得技术书上有些篇幅贴代码无可厚非,否则怎么讲技术呢?例如《数据结构与算法分析》,上面的代码简单易懂,配合注释完完全全是新人入门的不二选择,因此贴代码不是技术书水的特征,无意义地贴代码凑篇幅才是。这里不会指出看过的堆代码的书的名字,毕竟写这篇文章的目的不是黑作者,只是说我自己的想法。有些书,翻开就是大段的代码,文字讲解和图示均很少,看上去很费力,代码也缺少必要的讲解。

不要忽视例子和图例的重要性

最近看黄建宏老师的 《Redis 设计与分析》 这本书,写的非常好,很易懂,作为 Redis 入门很合适,也确实感受到之前对 Redis 的了解太片面了,想想面试时还自称了解 Redis 就一阵脸红,感谢那些没因此把我刷掉的面试官大大们。这本书之所以受好评,主要在于第一,作者的专业知识很有深度,文笔却又很平易近人,叙述合理,不故意炫技,更重要的一点就是书里丰富的例子和图例,在讲 Redis 底层的存储结构时,作者花了大量的笔墨分析一些小例子,并配合有清晰易懂的图例,读完脑海中的烙印非常清晰,不得不赞。而现在的有些技术书,图例都是照搬的文档,甚至翻译也十分感人,又是全篇灌输全局理论,没有什么实际的例子可供读者消化,太抽象的知识不能长久地留在脑海中。

尝试学会讲故事

现在很多技术书有这样一个特点,就是喜欢在篇幅之间增加一些漫画人物的对话或者是知识补充之类的,其实有点尴尬。因为这种形式往往抓住的是眼球而不是让读者更好地理解文字内容,其实与其这样,不如好好锻炼一下程序员自己讲故事的能力,让一篇枯燥的技术博文能形象生动起来,这里指的当然不是在文中硬插入动画人物或者昵称,而是让文笔灵活,避免死板,大名鼎鼎的 Paxos 算法也需要一篇故事讲得精彩的论文才能脱颖而出啊。

不要炫技!不要炫技!不要炫技!

主要的事情说三遍,一本技术书一定有其特定的受众,而根据受众水平的高低,技术书应该有所偏向。

一些建议

最后,有一些自己的建议,如果你想阅读到好的技术书籍的话,不妨听听看。

  • 可以选择一些官方的论坛,例如图灵社区,看看大家对于书籍的评价再做取舍,网上商城上的评论建议不要轻信。
  • 如果你嫌麻烦的话,豆瓣读书上的评价其实也可以参考
  • 知乎作为被程序员霸占的吐槽社区,其实淘书还是挺靠谱的
  • 可以找一些试读版先行阅读,觉得不错再继续购买后续
  • 从大神的博客中,看看他们都在关注些什么技术书籍

总结

OK,随笔完了,其实想写这篇文章的原因是,前几天看了本国人写的、书名很唬人的技术书,书也挺厚目录也很高逼格,价格不菲,但是读了几章真的被气到了,很失望,觉得好的技术书确实太少了,且看且珍惜。

许可协议


0

Comment