一直以來,我一直都認為透過看書自學程式語言是最好的方式
當然,如果你能找到一位好老師教你的話,請珍惜並好好學習
但如果你沒有遇到好的老師教你、又或者你想自學
那麼看書是最好的途徑,雖然現在網路上很多技術文章可以閱讀
但這些文章大多是碎片化的資訊
比起網路文章,書會更有系統的將知識由淺入深的交給你
今天主要就是要來跟大家一起分享一些我看過還不錯的Java書籍,也讓你可以參考一下,
我的指導教授曾和我們說:「學一個東西,不能只看一本書」
每一本書都是一個老師,你可以透過不同的書籍來向不同的老師學習
如果你是第一次學習Java,那麼我還是首推洪維恩老師的
(點選標題或圖片進入博客來購買)
這本書我之前分享過,可以參考這篇
這本書非常淺顯易懂,對於新手絕對非常適合
可以透過這本書先認識一下Java的語法,以及建立物件導向的概念
如果你覺得Java7太舊了,那麼可以參考林信良老師的
(點選標題或圖片進入博客來購買)
我會建議先讀過《Java 7 教學手冊》以後,再透過這本書來補足一些Java的新的語法
這本書談得比較多,包括Java7以後的Lambda, Functional, Steam, Optional ...等新技術
然而這本書也是非常適合初學者,他也是一本非常淺顯易懂的書籍
學習完基本語法的使用,和建立物件導向的概念後
接著我要推薦的這本書,我認為每個程式設計師都必讀
那就是大名鼎鼎的Uncle Bob的
中文書名為 《無瑕的程式碼:敏捷軟體開發技巧守則》
(點選標題或圖片進入博客來購買)
這本書會讓你了解優良程式設計師的思維,以及他們所使用的程式技巧、技術和開發的工具
前面兩本書籍學習完以後,接下來就是要開始學習程式設計方法,而這本書就是第一個門檻,
因為這本書的範例程式語言是Java,學習Java的同時也學習設計方法
這本書寫得非常簡單,也寫得非常好
他會教你如何寫出好得程式,也相當適合初學者閱讀
這本書絕對會幫助你成為一個更好的程式設計師
Clean Code的姊妹之作
中文書名為《無瑕的程式碼 番外篇:專業程式設計師的生存之道》
(點選標題或圖片進入博客來購買)
Clean Code是一本技術書籍,教你怎麼寫整潔的程式
而這本Clean Coder是Uncle Bob以自身經驗,並搭配一些方法
教你怎麼面對真實的程式設計職場生態,可以做為專業程式設計師職場求生的寶典
這本書也覺得非常值得一讀
接著推薦這本
(點選標題或圖片進入博客來購買)
這一本書主要在教你該如何做重構
所謂的重構就是:「在不改變軟體外部行為的基礎上,改變軟體內部的結構,
使其更易於閱讀、易於維護和易於變更」
當我們進入職場,有很少的機會可以從零開始開發一個系統
大多都是維護前人留下來的程式,並基於前輩留下的程式繼續新增功能
但是若是前人的程式無法維護、或是難以在既有程式中開發新功能
那麼這本書會告訴你該如何一步一步的重構
不改變原有的系統功能,但使得易於維護、以及添加新功能
也許重構對於客戶來說不會有感覺,也看似沒有意義
但是重構卻可以讓我們的系統變成「高品質的軟體」
可以保證開發人員能夠輕易看懂軟體的程式碼,能保證日後的每一次軟體維護都可以輕易完成
能夠保證日後每一次需求改變都能夠更輕易地進行。
這本書的範例也是使用Java
接下來這本書屬於Java比較進階的書籍
(點選標題或圖片進入博客來購買)
這本書總共列了90條,你在寫Java的時候需要注意的地方
這本書有些item非常易懂,有的則是非常複雜困難
這本書對於想要讓自己寫Java的技術能力有所提升是一本值得參考的書
最後要推薦的是
(點選標題或圖片進入博客來購買)
Design Pattern 設計模式是由GoF所整理的23個OO設計的葵花寶典
但對於學習設計模式,該看哪本書呢?
我會推薦這本《深入淺出-設計模式》
這本書透過簡單的例子,搭配圖案的說明
讓設計模式變得不是那麼難以親近,如果想要學Design Pattern這本可以參考一下
這本書的範例程式也是使用Java
如何挑選專業技術書籍
前幾天有人問我說我怎麼挑選技術專業書籍的?
如果說是以一個完全是第一次學Java的初學者,
我當然會先建議找一本有完整的把基本語法、物件導向概念清楚地講過一遍的書來讀
以Java書籍來說無庸置疑的我肯定是推薦洪維恩老師的《Java7教學手冊》
至於為什麼我後來又會買林信良老師的《Java SE 14 技術手冊》
因為這本也偏向初學者基礎級的書籍,因為《Java7教學手冊》這本書談得只有到Java7
而《Java SE 14 技術手冊》就有談到一些Java8以後比較新的語法
在對Java有一定的認識下,在翻閱此書時發現還有些觀念沒那麼清楚,也有很多東西不會
剛好有符合我的需求,又寫得不錯,就買回來了
我通常決定要不要買一本技術書籍的時候
會先看這本書的目錄,封面,封底有沒有符合我的需求
接著會挑一個我最感興趣的主題稍微掃過去
如果覺得自己在沒有很專心的逐字逐句閱讀都能還讀懂7分8分
那麼我就會覺得這本書可能適合我
當然有時候有一些比較主題性的像是重構、設計模式這類的書
我就會看一些網路上大家的推薦,在按照剛剛的方法實際到書店翻一下
而這種主題性的書籍,通常跟程式語言比較沒有直接關係
但是有時候我會希望除了吸收特定主題的書籍以外,還可以再搭配自己熟悉的語言會更好
所以也會特別找跟自己熟悉的語言去看
其實有時候也是會踩到雷,買到看不懂的書,或是寫得很爛的書
有時侯也要「捨得放下」,如果你發現這本書沒有你需要的內容
不如就果斷地放下它吧! 不要浪費自己的時間
以上我的經驗分享給各位
留言列表