2017.4.7计划要读的技术书籍列表

1.编程的技能,也就是组织代码,提高代码质量的部分。

这一部分的提高,有点潜移默化,不像具体的技术比如具体的那些程序语言,框架,数据库等那么明显,懂了和不懂,差别很大。但是这一部分却是在平时工作中无时无刻不在用到的,有的时候,感觉和有经验的同事差别不是那么大,但是一做事情,就感觉差别很大,那这部分的差别,就是这方面的技能差别吧。

  • 《Java设计模式》
    设计模式的书很多,对组织程序结构还是很有帮助的。
  • 《Thinking in UML》
    能够用图形把软件的结果分析出来,大脑不够用的时候,画画图,能够节省大脑的工作记忆空间,而且能够知道怎么去分析程序结果,并且和别人交流。让软件的设计有规章而寻,而不是凭感觉。
  • 《代码大全》
    详尽地教如何写出规范的代码,让写代码有原则可以遵守,知道什么是代码的好品味。
  • 《Clean Code》
    提高代码质量,据说比《代码大全》还好,似乎内容有重叠。
  • 《敏捷软件开发:原则、模式与实践》
    讲到了软件工程,测试,设计模式,和《Clean Code》是同一个作者,这个作者也说《Clean Code》是这本书的前传,所以准备看完《Clean Code》再读这个,
  • 《重构:改善既有代码的设计》
    也是教写出好的代码的书。
  • 《计算机程序的构造和解释》
    看过一章半,有空继续仔细研究,因为这本书的评价很高,一定有可取的地方。
  • 《面向对象分析与设计(第3版)》
    软件设计的书,怎么把需求转换成为代码。
  • 《程序员修炼之道》
    经常被提起

目前来看,会先看《Clean Code》,因为据说比《代码大全》还好,《代码大全》已经是包罗万象的,算是基本功了。

2.工程能力

怎么能够更好地完成任务,更好地管理自己的工作,怎么保证自己东西的质量。

  • 《构建之法》
    国产书,看了前面两章,用工程的方法去工作,才能够当之无愧地称得上工程师。

  • 《Maven实战》
    构建程序的工具,虽然似乎都用gradle,但是原理应该差不多,正好公司用到这个。

  • 《人件》
    http://www.vaikan.com/programmers-dont-read-books-but-you-should/ 这篇文章有推荐,是一篇软件项目管理方面的书。

  • 《人月神话》
    经常被提到的经典书籍X

如果读完之后,还有些扩展阅读的部分,再加上。

3.具体的技术
会和不会,差别很大,但是要学会,时间也不会需要太多。这些基本上是工作必须用得上的。

  • 《JavaScript高级程序设计》
    学习JavaScript排名靠前的书,大众认可的书,一般不会有问题,入门应该足够。
  • 《AngularJS权威教程》
    工作中需要用到,学完JavaScript再学这个应该不难
  • 《CSS》
    随便找一本,或者看网上教程吧,写前端的基本功,不难。
  • 《MySQL必知必会》
    数据库的基础不牢,很多原理基本功不知道,需要补充短板,根据实际需要,决定是否需要再去找Oracle相关的书看,不过原理应该差不多。
  • 《精通 Hibernate:Java 对象持久化技术详解》
    公司用到这个,知道它的原理,才能够解决更多问题。
  • 《SPRING实战 第4版》
    公司用到这个,已经读了五分之一,全面了解Spring还是必要的,还涉及到了一些和Spring相关的其他技术,能够增加视野,
  • 《JAVA并发编程实践》
    据说翻译很差,如果看不下来,就去找这方面的其他资料吧。这部分也是工作中需要用到的知识。
  • 《ZooKeeper:分布式过程协同技术详解》
    内容似乎包罗万象,知道基本原理,并且把目前工作中用到的部分搞清楚即可。

实现过程

一共17本书,这个列表应该是会不断变化的,一周一本,五个月能够搞定。
一周的阅读时间如下:工作日每天晚上一个小时,5h,周末和周日,每天4h,一周13h。
13h看完一本书,平均一本书500页,平均每小时看38页即可,按照快速阅读的方法,这样的效率也未尝不可。

快速阅读的方法

一本很厚的技术书,覆盖自然是面面俱到,但是在实际工作中却发现,经常用到的只是其中的一小部分,其余的部分内容,虽然学习了,但是用的频率没有那么高,价值也就没有那么大。
这似乎就是二八原则,两成的书籍里面的内容,足以应对八成的场景。
但是如果完全抛弃那些不常用的内容,又会使得知识面变窄,而出现黑天鹅事件,需要用到那些不常用的内容时,有会显得无能为力。
为了兼顾常用和不常用的内容,我想出了一个快速阅读的原则,阅读技术书籍时,遇到可能会用,但是不常用的技术时,可以先理解其原理和思想,但是先不去看其具体的实现;
这样的好处是以后碰到这样的问题时,脑海中已经有了一个概念,也知道可以有哪些解决方法选择,再去具体学习这些选择的技术实现,之前已经知道了原理,再去学具体怎么做也就不难了,而且这个时候去学习这个具体的做法,就是性价比很高的学习方式了,真正的把钱用在刀刃上。

你可能感兴趣的:(2017.4.7计划要读的技术书籍列表)