掌握这7个阅读方法,提高你的编程艺术
1、
作为一名程序员,通过写代码来挣钱就是我的首要任务。如何挣更多钱呢?和领导多喝几杯酒,恐怕行不通。行得通的只有一条路——提高编程艺术!
现在有两名程序员,王三和他哥王二,他们要实现相同功能的程序。王三的代码冗长、复杂难懂、性能低下;王二的代码逻辑清晰、简单明了、性能还很可观。这个时候,我们就可以说,王二有一定的编程艺术。
那怎么提高编程艺术呢?
方法一:在网络上看大牛们的视频教程。
方法二:在网络上听大牛们的音频教程。
方法三:阅读大量的书籍(纸质书和电子书)。
方法四:输入之后进行各种实战输出。
这次,我们重点谈谈方法三。
2、
说起来很惭愧,我读书很多年了,但总是感觉读了和没读一个样。很多经典的书籍往往沦为我的睡前读物,不是因为我爱读经典,而是它们能够催眠——往往我把这种责任归咎于作者,说他的文风不够有趣。
但这很明显是在自欺欺人!为什么这么说呢?
去年的这个时候,我和一个读者朋友聊天,他问我:“《Java编程思想》是个大块头,我花了近半年的时间才啃完,中间不知道放弃了多少次,太痛苦了!你是怎么看这本书的?”
我不假思索就回答:“这本书并不适合啃读。它生硬、枯燥,例子和国人的习惯又格格不入。总体来说,是一本名头很响,但读起来效果很差的书。”
我以为他要承认我的观点,但出乎意料,他说:“我在读这本书的时候,抱着一种敬仰恭敬的心态,所以被作者的思想不断地牵引着。我发现,这本书讲的东西非常细致。等我的编程经验再丰富些,批判性地再读这本书时,也许就能读出一些问题来。”
哇!他是一名伟大的读者。而我,自愧不如!
3、
怎么样才能成为一名伟大的读者呢?我找了很久,终于在《如何阅读一本书》中找到了一些答案。这是一本学院风的实用类书籍(换句话说就是缺少趣味性),逻辑性很强,能够在一定程度上解决缺乏阅读规范而产生的种种问题。
这本书告诉我,阅读目的有两个:获取资讯和增强理解。如果是为了获取资讯,并不需要什么阅读的方法,用眼睛从头到尾扫描一遍就可以达成目标。
如果是为了增强理解,就必须遵循下面这些法则:
1)主动地阅读,越主动效果越好,就像我的那位读者朋友一样。
我奉劝各位,不要在昏昏欲睡的时候读书,如果你累了,最好停下来休息一下,别再头悬梁锥刺股了。
2)如果你的时间有限,或者不知道这本书要不要读,你可以这样做:
第一,看看书名。想一想,你是否在哪里见过它的推荐序,如果有人推荐,多少说明它不是曲高和寡的;如果没有人推荐,那就看它能不能吸引你,如果不能,趁早打住。如果能,请继续。
第二,看看目录。如果你读的是电子书,或者要在网络上买书的话,要浏览一下这本书的目录,如果井井有条,就说明这本书的整体架构是用心过的,可以读;否则,就果断放弃。
如果是在实体店,新书往往被封皮,看不到目录。不过,你可以在网络上看书的目录。
3)如果你确定要读一本书,而这本书又很难读的话,可以先粗读一遍。切记,不要在遇到生字的时候停下来,要能够根据上下文的环境推断这个字的意思。
4)如果你的注意力不集中,可以尝试用手指在文字的底部划过,然后眼睛尾随手指。遇到无关紧要的内容,就加快手指移动的速度;如果遇到需要思考的地方,就放慢手指移动的速度。
读书要快慢结合,不要一味求快(不是所有书都是《半小时漫画中国史》),也不要一味求慢(不是所有书都是《红楼梦》)。
略读(快速地阅读)有一个好处,就是能够让我们博览群书,提高自己的知识广度。在读《基督山伯爵》的时候,我特别喜欢一个角色,就是地牢里的法里亚,脑子里记住的书就多达500本。
作为一名程序员,我们的生活也不止代码,所以提高编程艺术的书要读,产品经理的书要读,养生指南的书也要读,这样我们的思维就不会很局限。
精读(细致地阅读)也有一个好处,就是能够帮助我们培养独立思考的能力,使我们成为一个有思想深度的人。
作为一名程序员,像《Java编程思想》、《代码大全》、《算法导论》这一类书,就必须要精读。
5)要学会做笔记,遇到喜欢的句子就添加到自己的素材库,甚至背会。我自己在读书的时候,就会拿一张A4纸,记录下自己的观点和想法。
我的字已加密,需要翻译吗?
光在纸上做笔记还不够,遇到自己喜欢的段落、句子要摘抄,纸上就不怎么方便,这时候推荐大家用石墨文档。
6)要学会提出问题:这本书在谈些什么?有道理吗?和我有关系吗?他提出的解决方法我能够在实际生活中运用吗?
听《薛兆丰的经济学课》时,你会发现每节课后都有一道思考题,为什么要有思考题呢?因为只有你把课堂上的知识应用到实际案例中,才能证明你真正的学会了。
对于一本书,如果你不能够提出问题,不能自己解答这些问题,就会有一种读了等于没读的感觉。最好的解决方法就是写书评,甚至针对某一个章节写出自己的实战经验,在写作的过程中进一步的提高自己的表达能力,以及理解力。
更重要的是,你还能把自己所学的内容传播给他人。看下图。
7)要能够赞同或反对作者。如果作者说得确实有道理,就去认同他的观点,不要钻牛角尖地反驳;如果要反对作者,要能够指出作者是哪里说得有问题。
作者写书的目的是为了分享、传播知识,我们读书是为了获取资讯、增进理解,如果我们对作者发表的观点既不赞同又不反对的话,很难说我读懂了一本书。
4、
从《如何阅读一本书》中,我读到了上述的那些实用的读书方法,这是真的;但,读这本书确实很痛苦,也是真的。
我在豆瓣上看到一些对这本书非常有意思的评论:
冲着高分评价买来看,结果有逻辑无趣味。要让一本工具书有趣味似乎强人所难,但读了一半就更坚定了我自己的观点:阅读应该随心,别让条条框框束缚你,没有乐趣的阅读特别没劲,最好的阅读方法就是打开一本书看十分钟,能继续就继续,不能就扔一边。
这也是为什么很多人喜欢在网络上看大牛们的视频教程、听大牛们的音频教程,而不愿意阅读纸质书和电子书的缘故。
就我个人而言,我希望所有的书都能够像王小波的《黄金时代》、当年明月的《明朝的那些事儿》,这样我就不会在读书的过程中犯困。但这样的愿望是不切实际的——我们不可能要求《Java编程思想》写出幽默风趣来。因此,我们还是需要一些可以遵循的阅读方法,就像上面我提到的那些。
5、
2019年的第一天,我就给自己定了一份价值50万的读书计划,感兴趣的小伙伴可以点击链接查看。
我能深切地感受到,只要我能够在2019年以及将来的日子里持续不断地输入和输出,我不仅能够提高我的编程艺术,顺带挣更多的钱,还能够大有所为。
推荐阅读: