導(dǎo)讀:本文作者Payson Wu小程序開發(fā)書哪個(gè)好,碩士研究方向二維PDE數(shù)值解析算法,五年前端開發(fā)經(jīng)驗(yàn),現(xiàn)就職于Microsoft。
現(xiàn)在小程序開發(fā)書哪個(gè)好的工作市場(chǎng)越來(lái)越講究綜合人才,軟件開發(fā)行業(yè)也一樣。以前的設(shè)計(jì)、開發(fā)、測(cè)試、上線分別由單獨(dú)的團(tuán)隊(duì)負(fù)責(zé),現(xiàn)在越來(lái)越多的公司需要combined engineer,就是上面這些都需要軟件工程師全權(quán)負(fù)責(zé)。軟件工程師需要掌握很多知識(shí)和技巧,才可以在如今競(jìng)爭(zhēng)激烈的市場(chǎng)中永葆青春。
一個(gè)好的軟件工程師,應(yīng)該注重三方面的能力培養(yǎng):設(shè)計(jì)、開發(fā)、個(gè)人素養(yǎng)。設(shè)計(jì)包括理解UI、重視UX、Architecture、掌握良好算法數(shù)據(jù)結(jié)構(gòu)等;開發(fā)包括優(yōu)秀的編程實(shí)踐、測(cè)試的設(shè)計(jì)、按時(shí)交付代碼等等;個(gè)人素養(yǎng)也十分重要,包括寫文檔、寫郵件、演講等能力。
今天推薦的書單主要針對(duì)前兩個(gè)能力:設(shè)計(jì)和開發(fā)。因?yàn)檐浖_發(fā)過(guò)程中,語(yǔ)言的選擇并不是最重要的,所以本文推薦的書單盡量避免針對(duì)某種語(yǔ)言。如果有需要某種特定開發(fā)語(yǔ)言的書籍推薦,例如Java,C++,C,C#,Python,Java等等,歡迎留言詢問(wèn)。
關(guān)于設(shè)計(jì)
軟件的設(shè)計(jì)跟建設(shè)大樓的設(shè)計(jì)一樣重要,有小程序開發(fā)書哪個(gè)好了圖紙大樓才能開土動(dòng)工,軟件有了設(shè)計(jì)才可以真正開始進(jìn)入開發(fā)環(huán)節(jié)。
《寫給大家看的設(shè)計(jì)書》
這本書出自一個(gè)著名設(shè)計(jì)師之手,小程序開發(fā)書哪個(gè)好他抽繭剝絲地把復(fù)雜的設(shè)計(jì)理論歸為簡(jiǎn)單的四個(gè)基本原理:親密性、對(duì)齊、重復(fù)和對(duì)比。書里面有色彩鮮艷的插圖,生動(dòng)鮮活的例子,利用正反兩種例子解釋什么樣的設(shè)計(jì)好,什么樣的不好,讓人一目了然。非常適合作為快速入門的讀物。
《Head First Design Pattern》
Head First這系列書風(fēng)趣幽默,無(wú)論是圖片還是漫畫都十分吸引人,讓枯燥無(wú)聊的技術(shù)變得活靈活現(xiàn)。很多年前我剛畢業(yè)時(shí)候拿到Thoughtworks的offer,Thoughtworks推薦了一些列報(bào)到前讀的書,有一本就是這本Head First Design Pattern.這本書非常適合初學(xué)者理解設(shè)計(jì)模式。不過(guò)并沒(méi)有太多的實(shí)際例子。大家應(yīng)該都聽過(guò)四人幫(the gang of four)的Design Pattern那本書吧。那本書更為深入,建議初學(xué)者在讀完Head First之后可以拿來(lái)四人幫那本書深入理解。Head First 這系列還有很多別的書,各方面都包含,都很適合初學(xué)者。
《Effective Java》
Effective系列我一共只讀過(guò)三本,分別是:Effective Java, Effective C#, Effective Java。這系列還有一些針對(duì)別的語(yǔ)言的,比如Effective C++。學(xué)習(xí)任何一門編程語(yǔ)言,只看書是不夠的,一定要結(jié)合實(shí)際,通過(guò)做一個(gè)小項(xiàng)目來(lái)學(xué)習(xí)一門語(yǔ)言最為合適。不但能學(xué)會(huì)語(yǔ)法和語(yǔ)言中常用的包,還能學(xué)會(huì)調(diào)適、測(cè)試等。Effective 這系列的書是我最喜歡的編程書籍系列之一,不但包含大量的編程實(shí)例,還列出了很多常見錯(cuò)誤和陷阱。對(duì)一些常犯的錯(cuò)誤給出了有用的建議,對(duì)一些小陷阱指出了有效的解決方式。
《C和指針》
開頭聲明了本書單盡量不涉及某一特定語(yǔ)言,但實(shí)在是避不開這個(gè)最經(jīng)典的C語(yǔ)言了。我接觸編程比較晚,第一次親密接觸就是大一的時(shí)候上C語(yǔ)言編程基礎(chǔ),用的教科書是那本很差的綠皮譚浩強(qiáng)的書。當(dāng)時(shí)被指針繞的七葷八素的,什么是指針,什么是指向指針的指針,譚浩強(qiáng)的綠皮書解釋的模棱兩可,老師講的也是稀里糊涂。直到我都工作好幾年了,一直都特別“幸運(yùn)”地避開了一切指針。有一次偶然的機(jī)會(huì)聽說(shuō)了這本書,拜讀了一下,果然是C語(yǔ)言初學(xué)者的福音。不但詳細(xì)解釋了C語(yǔ)言的種種基礎(chǔ)和標(biāo)準(zhǔn)庫(kù),還特別感人的清晰地講解了曾經(jīng)迷茫了整整一代人的數(shù)組和指針。
《Introduction to Algorithms》
這本算法書包含了很多現(xiàn)代的算法,從算法到數(shù)據(jù)結(jié)構(gòu),甚至包括多項(xiàng)式算法、數(shù)論、圖論等。不得不說(shuō)如果想要完全讀懂所有的算法,還是需要一些數(shù)學(xué)背景知識(shí)的。這本書是很多美國(guó)大學(xué)的算法教科書。如果做到融會(huì)貫通,那面試美國(guó)大公司就是分分鐘的事兒。不過(guò)說(shuō)實(shí)話,這本書并不適合作為面試算法練習(xí),因?yàn)閷?shí)在是太厚重了,無(wú)論是書本身的厚度,還是書中包含的內(nèi)容,都十分厚重。
關(guān)于開發(fā)
軟件開發(fā)過(guò)程是軟件的筋骨,我們所說(shuō)的程序員主要就是做開發(fā)過(guò)程。開發(fā)過(guò)程不是跟建房子不一樣,不是按照?qǐng)D紙一塊塊的搬磚,更重要的在于能夠編寫可以測(cè)試、可以維護(hù)、可以向后兼容的代碼。
《Refactoring》
Martin Flower是一個(gè)很優(yōu)秀的大師。他在1999年寫的這本書至今仍十分暢銷。這本書中他用一個(gè)實(shí)例一步步的解釋如何重構(gòu)代碼。世界上任何一種產(chǎn)品都是逐漸更新?lián)Q代變得越來(lái)越優(yōu)秀的,寫代碼也是一樣,優(yōu)秀高效的代碼需要在不斷修改中演化而來(lái)。重構(gòu)這本書幫助我們理解重構(gòu)的意義:如何在保持功能性不變的基礎(chǔ)上,提高代碼的質(zhì)量和效率。
《How to Break Software》

這本書又有趣又實(shí)用,實(shí)屬業(yè)界良心。剛開始變成Combined Engineer的時(shí)候很不適應(yīng),最不喜歡寫測(cè)試。一旦寫測(cè)試,就發(fā)現(xiàn)很多軟件的錯(cuò)誤,大量的bug向我襲來(lái)的感覺(jué)實(shí)在是苦不堪言。但其實(shí)正是因?yàn)檫@些測(cè)試才能保證軟件的質(zhì)量。這本書特別適合程序員,因?yàn)橥耆菑某绦騿T的心理出發(fā),一步步引導(dǎo)你思考bug可能產(chǎn)生的路徑,然后瘋狂的對(duì)這些bug可能產(chǎn)生的路徑進(jìn)行大量測(cè)試。作者的想法刁鉆古怪,毫不留情地揭露了程序員得過(guò)且過(guò)的心理。只有抱著這種心態(tài)才能保證軟件的質(zhì)量。如果你讀完覺(jué)得這種方式實(shí)在是太殘忍,大可把這些測(cè)試方式用在你同事的身上,互相傷害,這樣才能互相幫助。
《Code Complete 2》
讓大部分人來(lái)推薦軟件工程師書單,這本Code Complete 2都會(huì)高居榜首。中文版的翻譯書名叫做《代碼大全》。既然是大全那就一定是覆蓋各種概念各種設(shè)計(jì)結(jié)構(gòu)。很多人說(shuō)這本書適合作為程序員的入門閱讀起點(diǎn)。我倒是覺(jué)得這本書更適合作為一本參考閱讀手冊(cè)。任何經(jīng)驗(yàn)背景的人都會(huì)從中受益。
《Team Geek》
電影里面的極客都是單刀赴會(huì)一個(gè)人挑大梁,從焊電路板一直到擁有好幾億用戶。這種角色往往給大家一種錯(cuò)覺(jué),就是好的程序員都是獨(dú)來(lái)獨(dú)往不需要跟別人合作的。這是一種理想主義狀態(tài)。優(yōu)秀的軟件靠的是團(tuán)隊(duì)合作。如果想在自己的職業(yè)生涯走的更遠(yuǎn),我總結(jié)的就靠三點(diǎn):技術(shù)的提高、機(jī)會(huì)的把握要、團(tuán)隊(duì)的和諧。這本書圍繞著團(tuán)隊(duì)合作三大原則:謙遜、尊重、信任,系統(tǒng)地介紹了如何打造優(yōu)秀團(tuán)隊(duì)。
關(guān)于個(gè)人素養(yǎng)
如果不注重自己的演講和寫作能力,即使是再優(yōu)秀的工程師,最后也很難突破自我更上一層樓。個(gè)人素養(yǎng)的提高是一個(gè)緩慢的過(guò)程。在這里推薦一本書。
《程序員職業(yè)素養(yǎng)》
程序員的工作不只是日復(fù)一日的寫代碼,更重要的是知道自己在做什么,什么時(shí)候做,什么時(shí)候不做,什么時(shí)候該把活兒推出去,如何管理時(shí)間,如何管理deadline,如何正確估計(jì)項(xiàng)目所需的時(shí)間和精力,面對(duì)壓力時(shí)候如何沉著冷靜。這一切的一切都需要有好的心理素質(zhì)。這本書給出了上述所有問(wèn)題的分析解答,是程序員前進(jìn)的指明燈。題外話:除了心理素質(zhì),更重要的是身體健康。
總結(jié)

列這個(gè)書單,既是為了幫助剛?cè)肼殘?chǎng)或者尚未入職場(chǎng)的軟件工程師們理解軟件設(shè)計(jì)和開發(fā),也是為了自勉,時(shí)刻提醒自己:只有終身學(xué)習(xí)才能不被淘汰。
有哪些書是作為程序員/數(shù)據(jù)分析師的你喜歡的呢小程序開發(fā)書哪個(gè)好?歡迎留言告訴我們。
課程推薦
Payson現(xiàn)在也是BitTiger王牌課程【全棧工程師直通車】的特約教師之一,如果你也想成為全棧工程師,歡迎點(diǎn)擊以下圖片(或者直接掃碼咨詢)。
相關(guān)文章
- 1洛陽(yáng)新聞小程序開發(fā)公司(洛陽(yáng)新聞小程序開發(fā)公司招聘)
- 2南寧食品小程序開發(fā)托管(南寧市微信小程序開發(fā)公司)
- 3互聯(lián)網(wǎng)時(shí)代新聞侵權(quán)的特點(diǎn)(互聯(lián)網(wǎng)時(shí)代新聞侵權(quán)的特點(diǎn)有哪些)
- 4濟(jì)南互聯(lián)網(wǎng)大廈最新消息(濟(jì)南互聯(lián)網(wǎng)大廈最新消息通知)
- 5鄭州互聯(lián)網(wǎng)新聞營(yíng)銷作用(新聞營(yíng)銷是免費(fèi)網(wǎng)絡(luò)營(yíng)銷方式嗎)
- 6互聯(lián)網(wǎng)新聞監(jiān)管部門電話(互聯(lián)網(wǎng)新聞監(jiān)管部門電話號(hào)碼)
- 7臺(tái)州小程序開發(fā)地址電話(臺(tái)州小程序開發(fā)地址電話是多少)
- 8濟(jì)南訂餐小程序開發(fā)(濟(jì)南微信小程序定制開發(fā))
- 9互聯(lián)網(wǎng)金融風(fēng)向標(biāo)講解(互聯(lián)網(wǎng)金融風(fēng)險(xiǎn)分為哪些類型)
- 10塘沽網(wǎng)站建設(shè)工程(天津塘沽區(qū)專業(yè)網(wǎng)站建設(shè))
聯(lián)絡(luò)方式:
電話:131 0763 2710
-
互聯(lián)網(wǎng)新聞采編服務(wù)(互聯(lián)網(wǎng)新聞采編服務(wù)機(jī)構(gòu))
問(wèn)請(qǐng)您介紹一下規(guī)定出臺(tái)互聯(lián)網(wǎng)新聞采編服務(wù)的背景答2005年原互聯(lián)網(wǎng)新聞信息服務(wù)管理規(guī)定互聯(lián)網(wǎng)新聞信息服務(wù)管理規(guī)定以下簡(jiǎn)稱規(guī)定實(shí)施以來(lái),對(duì)規(guī)范我國(guó)互聯(lián)網(wǎng)新聞信息服務(wù)活動(dòng)...
-
福州網(wǎng)站建設(shè)軟件(福州網(wǎng)站建設(shè)軟件公司)
1、找思企互聯(lián)呀福州網(wǎng)站建設(shè)軟件,他們?cè)诰W(wǎng)站建設(shè)這塊已經(jīng)做了挺久了,比較有經(jīng)驗(yàn),團(tuán)隊(duì)也是專業(yè)福州網(wǎng)站建設(shè)軟件的,像上次他們幫福州網(wǎng)站建設(shè)軟件我做的那個(gè)網(wǎng)站就很好,色調(diào)什么...
-
網(wǎng)站建設(shè)去哪里(網(wǎng)站建設(shè)去哪里找客戶源)
3信譽(yù)好信譽(yù)是一個(gè)企業(yè)的生存之本網(wǎng)站建設(shè)去哪里,所以我們?cè)谶x擇網(wǎng)站建設(shè)公司的時(shí)候,一定要注意網(wǎng)站建設(shè)公司的信譽(yù)一般可以直接通過(guò)網(wǎng)絡(luò)查詢的方式去查詢這家公司的相關(guān)信息,...
-
鹽城項(xiàng)目小程序開發(fā)流程(鹽城項(xiàng)目小程序開發(fā)流程圖)
開發(fā)者工具左側(cè)菜單欄選擇quot項(xiàng)目quot鹽城項(xiàng)目小程序開發(fā)流程,點(diǎn)擊quot上傳quot即可將代碼上傳到微信小程序服務(wù)器7小程序發(fā)布 登錄微信公眾平臺(tái)并訪問(wèn)小程序首頁(yè)?action=hom...
-
茂名市互聯(lián)網(wǎng)新聞中心地址(茂名市互聯(lián)網(wǎng)新聞中心地址在哪里)
目前茂名感染高峰期已過(guò),茂名市互聯(lián)網(wǎng)新聞中心地址你陽(yáng)過(guò)了嗎請(qǐng)“進(jìn)入決賽圈”茂名市互聯(lián)網(wǎng)新聞中心地址的選手留言區(qū)冒個(gè)泡 來(lái)源茂名在線論壇 茂名在線綜合整理,未經(jīng)授權(quán),謝絕...
