文章转载自「开发者圆桌」一个10年老猿原创文章传播开发经验,尤其适合初学者或刚入职场前几年程序猿的微信公众号。

wKioL1i5Ck7AkeuMAAChGHetiEM164.jpg

很多同学咨询如何选择编程类书籍以及如何阅读的问题,在这展开一些探讨,希望能够帮助寻找好书以及采用科学的方法阅读它们。这些观点结合了我自身阅读的一些经验总结以及互联网上其他人分享的阅读经验。


问:如何寻找一本好书?

答:比如要学xx技术,鉴于市面上的书参差不齐,买不好花钱不说重要的是耽误学习,如何寻一本物超所值的好书呢,不妨参考下面几点筛选原则:


翻译来的书;恕我直言,国外的书籍普遍好于国内的,新技术大都是从国外传进来的,当然目前国内的BAT也是非常厉害的企业,但是整体来说国外的技术和技术书籍还是比较出类拔萃的。


销量高的书;可以综合分析一下京东、天猫、当当、亚马逊等图书网站上关于xx技术书籍的销量,这些电商都有按照销量排序的功能,从数据上可以了解到哪些书比较热门,小伙伴们都在看哪些书等。


阅读书介绍;一本书的介绍应该包括书的作者、发行时间、总页数、目录等信息,对于技术书籍来说发行时间很重要,因为技术发展太快了,书籍相对落后技术的发展,一定要看书的发行时间;再一个就是目录,通过书的目录可以快速了解整本书的体系结构、知识点、难易程度等,这些都是选择一本书时要重点关注的,甚至可以去书店实地考察或者阅读电子版,快速翻阅一下书中的内容,然后再决定是否要购买。



问:书多,时间少,看不完怎么办?

答:书太多了,可能是书太杂了,很多知识点是重叠的,这样不成系统的阅读,进步是有局限的。


适合阅读;书太多从侧面说明你没有找到合适的书,一本好的书可以胜过N本不怎么样的书,关键看如何寻找合适的好书,前面一个问题应该可以帮助你找到合适的书进行阅读。


对于没有基础的同学来说,强烈推荐使用视频入门,但是当你有了一定的基础之后,尤其是只是想查一查特定的知识点,定位视频就往往不如翻书或者是google方便。


问题阅读;带着问题去找对应的书,面对实际的问题,阅读效率是最高的,但是问题阅读有一个局限就是知识不成系统,无法系统化学习,是需要警惕的一个问题。


建议请教一下在IT行业里工作的高手,他们看书有一个特点,就是按需而读,什么时候需要,什么时候读书,不需要的就一笔带过,读一个大概,用的时候能够想的起来去哪里查就行了。


时效阅读;除了数据结构、设计模式、算法等基础以外,技术发展是非常快的,技术书的时效性是非常重要的,如果不能快速的看完,可能放一段时间该技术都已经过时了。


很多人读书就像是在学校学习教材,一个字一个字的扣,一个知识点非得弄得明明白白彻彻底底,才敢继续往下读继续往下学,而这种读书的方法是要不得的,计算机是应用科学,除了基础的理论,90%的书是用不着去钻研细节的。


体系阅读;对于工作中或者职业规划中用到的技术、知识要系统地阅读,这样才能形成知识体系,东一榔头西一棒子,永远学不完,而且永远不精通。


区别阅读;编程类书籍有很多分类,类似红皮书白宝书之类的,内容多而详。其实更适合当参考书而不是入门教材;类似CookBook这类的书籍,更适合作为工具书使用。不同类别的书要区别阅读,根据实际情况来。


根据实际情况应用不同的阅读方法,同时对编程类书籍进行非门别类的管理,你在阅读上会更系统化,更有目标性,自然不会觉得书籍太多而无法看完。



问:如何高效阅读编程技术类书籍?

答:编程技术与其他方面的书籍有相通的地方也有自身的特点,要根据实际情况分别对待,才能提高阅读效率。


掌握通用阅读方法;所谓通用的方法就是编程技术类书籍与普通的书籍阅读方法相通的地方。关于通用的阅读方法,可以参考《如何阅读一本书》,该书是2004年在商务印书馆出版的图书,作者是[美] 莫提默·J. 艾德勒、查尔斯·范多伦,主要论述指导如何通过阅读增进理解力。


掌握编程阅读方法;编程类的书籍关键在于多练,快速看一遍,记住目录结构,知道哪些知识去哪儿找就行了。真正记住的是具体工作中遇到的时候,实践一两次就记住了。编程类书籍重在实践,你要把一本书的每个demo自己亲手敲一遍,理解运行过程,比你看书打笔记要有用得多。


当然,并不是所有编程类书籍都靠多练,比如一些理论知识如数据结构、算法还是要靠理解原理、多总结以及多记录笔记的。阅读的越多,你的知识面就会越广,很容易开拓自己的思路。


掌握分类阅读方法;编程类书籍有很多类别,每类书的目标不同,自然阅读方法也会不同。


工具类书籍要熟记目录结构,以便于后续快速查阅,同时最好搞一份电子版本,方便在电脑或者手机上随时查阅;


基础理论类书籍要多做笔记多总结,不断夯实基础理论,充分理解基础理论才可以更好的完成上层建筑的工作;


类似红皮书白宝书之类的,内容多而详。其实更适合当参考书而不是入门教材。如果非要看这类书的话建议在急短的时间内突击看完,这样不会看到后面连前面讲的是什么都忘了。不用要求自己在看第一遍的时候就全部理解透彻,细节的地方以后用到了再回头细看。


掌握英文阅读方法;很多的技术文档都是英文版,作为开发者会点英文阅读方法是非常必要的。要想阅读英文的书,最关键的一点首先要过心理这一关,有很多人认为自己的英文水平不够,所以不敢读英文的书,注意这里说的是不敢,而不是不能。


大多数的还没有上战场,就已经被吓死了。因此,首先一点,你要敢打开英文的书,没有人天生就能读英文,但是如果你不读,肯定就永远不会读了。


先打开英文书,手边备好金山词霸、百度翻译、谷歌翻译等工具,注意这个时候不要给自己太大的压力,想着非要通过一本书提高自己英文的水平,千万别这样,你会很累而且会有很深的挫折感,想着读书能给自己带来技术和英文上的进步就可以了。


另外,建议刚开始的时候选择简单易读的英文书,不要挑选太难的,中英文对照的读效果会更好。英文书读起来也非常忌讳一个字一个字的去读,那就太累人了。


掌握思维导图阅读法;假设你拿到了一本非常厚而且对你而言非常重要的技术书,而你必须在限定的时间内读完他。这时,你要做的第一件事是把这本书的目录读一遍。把握了目录,你就把握了书的内容。动手把目录上标注出的章节画成一棵树吧,就像学习数据结构时我们经常做的那样:根节点是书的题目、第一层节点是章、第二层是节,类推下去。


画好了这棵树,这本书就已经被你读薄了。你会快速定位出书的重点以及自身需要的知识分布,根据需要阅读即可。


不断总结;当然,阅读者个体之间存在很多差别,不妨试试上面所讲的方法,如果觉得不适合自己的话,可以总结一套自己的读书方法论。


你可以在搜索引擎中搜索类似「如何读技术类书籍,技术类图书阅读技巧,读技术书籍的技巧」这样的关键字,学习更多阅读方法和技巧。


重要的是要多尝试,而不是没坚持几天就宣告放弃了,贵在持之以恒,不断总结。


如果你有不错的方法,可以留言补充上来,一起学习进步。