<b>1.編程的技能,也就是組織代碼,提高代碼質(zhì)量的部分。</b>
這一部分的提高,有點(diǎn)潛移默化,不像具體的技術(shù)比如具體的那些程序語(yǔ)言,框架,數(shù)據(jù)庫(kù)等那么明顯,懂了和不懂,差別很大。但是這一部分卻是在平時(shí)工作中無(wú)時(shí)無(wú)刻不在用到的,有的時(shí)候,感覺(jué)和有經(jīng)驗(yàn)的同事差別不是那么大,但是一做事情,就感覺(jué)差別很大,那這部分的差別,就是這方面的技能差別吧。
- 《Java設(shè)計(jì)模式》
設(shè)計(jì)模式的書(shū)很多,對(duì)組織程序結(jié)構(gòu)還是很有幫助的。 - 《Thinking in UML》
能夠用圖形把軟件的結(jié)果分析出來(lái),大腦不夠用的時(shí)候,畫(huà)畫(huà)圖,能夠節(jié)省大腦的工作記憶空間,而且能夠知道怎么去分析程序結(jié)果,并且和別人交流。讓軟件的設(shè)計(jì)有規(guī)章而尋,而不是憑感覺(jué)。 - 《代碼大全》
詳盡地教如何寫(xiě)出規(guī)范的代碼,讓寫(xiě)代碼有原則可以遵守,知道什么是代碼的好品味。 - 《Clean Code》
提高代碼質(zhì)量,據(jù)說(shuō)比《代碼大全》還好,似乎內(nèi)容有重疊。 - 《敏捷軟件開(kāi)發(fā):原則、模式與實(shí)踐》
講到了軟件工程,測(cè)試,設(shè)計(jì)模式,和《Clean Code》是同一個(gè)作者,這個(gè)作者也說(shuō)《Clean Code》是這本書(shū)的前傳,所以準(zhǔn)備看完《Clean Code》再讀這個(gè), - 《重構(gòu):改善既有代碼的設(shè)計(jì)》
也是教寫(xiě)出好的代碼的書(shū)。 - 《計(jì)算機(jī)程序的構(gòu)造和解釋》
看過(guò)一章半,有空繼續(xù)仔細(xì)研究,因?yàn)檫@本書(shū)的評(píng)價(jià)很高,一定有可取的地方。 - 《面向?qū)ο蠓治雠c設(shè)計(jì)(第3版)》
軟件設(shè)計(jì)的書(shū),怎么把需求轉(zhuǎn)換成為代碼。 - 《程序員修煉之道》
經(jīng)常被提起
目前來(lái)看,會(huì)先看《Clean Code》,因?yàn)閾?jù)說(shuō)比《代碼大全》還好,《代碼大全》已經(jīng)是包羅萬(wàn)象的,算是基本功了。
<b>2.工程能力</b>
怎么能夠更好地完成任務(wù),更好地管理自己的工作,怎么保證自己東西的質(zhì)量。
《構(gòu)建之法》
國(guó)產(chǎn)書(shū),看了前面兩章,用工程的方法去工作,才能夠當(dāng)之無(wú)愧地稱得上工程師。《Maven實(shí)戰(zhàn)》
構(gòu)建程序的工具,雖然似乎都用gradle,但是原理應(yīng)該差不多,正好公司用到這個(gè)。《人件》
http://www.vaikan.com/programmers-dont-read-books-but-you-should/ 這篇文章有推薦,是一篇軟件項(xiàng)目管理方面的書(shū)。《人月神話》
經(jīng)常被提到的經(jīng)典書(shū)籍X
如果讀完之后,還有些擴(kuò)展閱讀的部分,再加上。
<b>3.具體的技術(shù)</b>
會(huì)和不會(huì),差別很大,但是要學(xué)會(huì),時(shí)間也不會(huì)需要太多。這些基本上是工作必須用得上的。
- 《JavaScript高級(jí)程序設(shè)計(jì)》
學(xué)習(xí)JavaScript排名靠前的書(shū),大眾認(rèn)可的書(shū),一般不會(huì)有問(wèn)題,入門(mén)應(yīng)該足夠。 - 《AngularJS權(quán)威教程》
工作中需要用到,學(xué)完JavaScript再學(xué)這個(gè)應(yīng)該不難 - 《CSS》
隨便找一本,或者看網(wǎng)上教程吧,寫(xiě)前端的基本功,不難。 - 《MySQL必知必會(huì)》
數(shù)據(jù)庫(kù)的基礎(chǔ)不牢,很多原理基本功不知道,需要補(bǔ)充短板,根據(jù)實(shí)際需要,決定是否需要再去找Oracle相關(guān)的書(shū)看,不過(guò)原理應(yīng)該差不多。 - 《精通 Hibernate:Java 對(duì)象持久化技術(shù)詳解》
公司用到這個(gè),知道它的原理,才能夠解決更多問(wèn)題。 - 《SPRING實(shí)戰(zhàn) 第4版》
公司用到這個(gè),已經(jīng)讀了五分之一,全面了解Spring還是必要的,還涉及到了一些和Spring相關(guān)的其他技術(shù),能夠增加視野, - 《JAVA并發(fā)編程實(shí)踐》
據(jù)說(shuō)翻譯很差,如果看不下來(lái),就去找這方面的其他資料吧。這部分也是工作中需要用到的知識(shí)。 - 《ZooKeeper:分布式過(guò)程協(xié)同技術(shù)詳解》
內(nèi)容似乎包羅萬(wàn)象,知道基本原理,并且把目前工作中用到的部分搞清楚即可。
<b>實(shí)現(xiàn)過(guò)程</b>
一共17本書(shū),這個(gè)列表應(yīng)該是會(huì)不斷變化的,一周一本,五個(gè)月能夠搞定。
一周的閱讀時(shí)間如下:工作日每天晚上一個(gè)小時(shí),5h,周末和周日,每天4h,一周13h。
13h看完一本書(shū),平均一本書(shū)500頁(yè),平均每小時(shí)看38頁(yè)即可,按照快速閱讀的方法,這樣的效率也未嘗不可。
<b>快速閱讀的方法</b>
一本很厚的技術(shù)書(shū),覆蓋自然是面面俱到,但是在實(shí)際工作中卻發(fā)現(xiàn),經(jīng)常用到的只是其中的一小部分,其余的部分內(nèi)容,雖然學(xué)習(xí)了,但是用的頻率沒(méi)有那么高,價(jià)值也就沒(méi)有那么大。
這似乎就是二八原則,兩成的書(shū)籍里面的內(nèi)容,足以應(yīng)對(duì)八成的場(chǎng)景。
但是如果完全拋棄那些不常用的內(nèi)容,又會(huì)使得知識(shí)面變窄,而出現(xiàn)黑天鵝事件,需要用到那些不常用的內(nèi)容時(shí),有會(huì)顯得無(wú)能為力。
為了兼顧常用和不常用的內(nèi)容,我想出了一個(gè)快速閱讀的原則,閱讀技術(shù)書(shū)籍時(shí),遇到可能會(huì)用,但是不常用的技術(shù)時(shí),可以先理解其原理和思想,但是先不去看其具體的實(shí)現(xiàn);
這樣的好處是以后碰到這樣的問(wèn)題時(shí),腦海中已經(jīng)有了一個(gè)概念,也知道可以有哪些解決方法選擇,再去具體學(xué)習(xí)這些選擇的技術(shù)實(shí)現(xiàn),之前已經(jīng)知道了原理,再去學(xué)具體怎么做也就不難了,而且這個(gè)時(shí)候去學(xué)習(xí)這個(gè)具體的做法,就是性價(jià)比很高的學(xué)習(xí)方式了,真正的把錢(qián)用在刀刃上。