進(jìn)入it企業(yè)必讀的書(shū)籍有哪些
進(jìn)入it企業(yè)必讀的書(shū)籍有哪些
進(jìn)入it企業(yè),仍然有很多東西需要學(xué)習(xí),這就需要你不斷的看書(shū)來(lái)提升自己。下面是由學(xué)習(xí)啦小編給大家?guī)?lái)關(guān)于進(jìn)入it企業(yè)必讀的書(shū)籍,希望對(duì)大家有幫助!
進(jìn)入it企業(yè)讀的書(shū)籍
1.《Working Effectively with Legacy Code》
我之所以喜歡這本書(shū),是因?yàn)閹缀跛械能浖_(kāi)發(fā)人員,在其職業(yè)生涯的某個(gè)時(shí)刻,往往會(huì)不得不支持和工作于遺留系統(tǒng)。在這本書(shū)中,Michael Feathers提供了從開(kāi)始到結(jié)束的策略,以便于更有效地工作于未經(jīng)測(cè)試的遺留代碼庫(kù)。本書(shū)借鑒了Michael為其著名的Object Mentor專題研討會(huì)創(chuàng)作的材料Michael用于指導(dǎo)的技術(shù),以幫助開(kāi)發(fā)人員,技術(shù)管理人員和測(cè)試人員掌控遺留系統(tǒng)。
2.《The Mythical Man-Month》
本書(shū)是一本經(jīng)典之作,但最近被修改和更正了。令人驚奇的是這本書(shū)仍然與軟件產(chǎn)品開(kāi)發(fā)密切相關(guān)。如果你從事軟件的話,這本書(shū)是必讀的。這本書(shū)最有價(jià)值的部分,我相信,是“plan to throw out”原型章節(jié)。盡管我們的目標(biāo)通常是做一個(gè)更大,更好,更快,不管它是什么的東西,但是我們總會(huì)構(gòu)建出一些不得不被廢棄,需要重做的東西。這種情況我親身經(jīng)歷過(guò)很多很多次。因此,關(guān)鍵是要plan to throw out(計(jì)劃拋棄),這樣你才能適應(yīng)接下來(lái)的情況。如果你夢(mèng)想第一個(gè)產(chǎn)品就ok,那么你就會(huì)有拋棄它們的風(fēng)險(xiǎn),因?yàn)楫a(chǎn)品的改進(jìn)和發(fā)展是不可避免的。計(jì)劃拋棄也有助于通過(guò)設(shè)置合理的里程碑來(lái)達(dá)到進(jìn)度目標(biāo)。
3.《Design Patterns》
如果你打算成為一名架構(gòu)師或系統(tǒng)的設(shè)計(jì)人員,那么你很有可能會(huì)被要求閱讀這本書(shū)。這是一本被譽(yù)為有史以來(lái)最偉大的有關(guān)于軟件開(kāi)發(fā)的書(shū),詳細(xì)講述了許多不同的設(shè)計(jì)模式,這么多年來(lái)一直在幫助軟件工程師避免和處理行業(yè)面臨的常見(jiàn)問(wèn)題。遵照這本書(shū)的策略可以助你打造更高品質(zhì),靈活和可維護(hù)的軟件。傳說(shuō)中的“_”就是這本書(shū),因?yàn)樗怯伤膫€(gè)著名的作者共同編寫(xiě)的。
4.《Programming Pearls第二版》
這本書(shū)和這書(shū)單上的其他書(shū)籍略有不同。我想說(shuō)這本書(shū)可以幫助一個(gè)人“像一個(gè)程序員一樣思考”?!禤rogramming Pearls》是先前發(fā)表在“Communications of the ACM(美國(guó)計(jì)算機(jī)學(xué)會(huì)通訊)”的15篇專欄的一個(gè)綱要。這些專欄涵蓋了廣泛與編程相關(guān)的主題從需求收集到性能優(yōu)化。重點(diǎn)關(guān)注編碼技術(shù)和算法。
每個(gè)專欄被組織為一個(gè)章節(jié)。章節(jié)通常以一個(gè)實(shí)際問(wèn)題的情景呈現(xiàn)開(kāi)頭。然后,提出各種解決方案和相應(yīng)的經(jīng)驗(yàn)教訓(xùn)。寫(xiě)作風(fēng)格清晰明快。
《Programming Pearls》不是教授新編程概念的尋常書(shū)籍。雖然它包含了優(yōu)秀,有時(shí)甚至是相當(dāng)新奇的想法,但這本書(shū)的目的不是教你一些新的東西,而是幫助你成為一個(gè)更好的問(wèn)題解決者。
5.《CODE: The Hidden Language of Computer Hardware and Software》
這本書(shū)清理了創(chuàng)建和開(kāi)發(fā)復(fù)雜系統(tǒng)的大量“魔法”?,F(xiàn)在的抽象是如此之多,以致于一些低層次的細(xì)節(jié)反而不為開(kāi)發(fā)人員所知。雖然你可能不會(huì)發(fā)現(xiàn)自己在實(shí)踐中時(shí)刻使用著這本書(shū)——但我相信,知道自己正在構(gòu)建什么以及整個(gè)編排的工作原理是什么,總歸是一個(gè)好主意。當(dāng)你需要打開(kāi)“黑匣子”,深入軟件或硬件來(lái)解決一個(gè)討厭的bug的時(shí)候,它就能派上用場(chǎng)了。Charles Petzold寫(xiě)的《CODE: The Hidden Language of Computer Hardware and Software》梳理了許多編程概念——從數(shù)字系統(tǒng)的十進(jìn)制,八進(jìn)制,二進(jìn)制到高級(jí)語(yǔ)言。這本書(shū)介紹了基于包的通信協(xié)議和TCP。許多章節(jié)講解了有關(guān)硬件的概念,有五個(gè)章節(jié)涉及到了軟件和教導(dǎo)操作系統(tǒng),浮點(diǎn)運(yùn)算和圖形用戶界面。
6.《The Art of Computer Programming》
這又是一部經(jīng)典之作。由著名的計(jì)算機(jī)科學(xué)家教授Donald Knuth編著,并得到行業(yè)內(nèi)眾多頂尖程序員的一致好評(píng)。甚至連Bill Gates也對(duì)這本書(shū)贊譽(yù)有加
“如果你認(rèn)為你是一個(gè)真正優(yōu)秀的程序員……那么就去讀[Knuth的]《The Art of Computer Programming》吧……如果你能讀懂整本書(shū),那么請(qǐng)一定要給我發(fā)簡(jiǎn)歷。”
這本書(shū)以基本的編程概念和技術(shù)開(kāi)頭,然后聚焦于更具體的信息結(jié)構(gòu)——計(jì)算機(jī)內(nèi)的信息表示,數(shù)據(jù)元素之間的結(jié)構(gòu)關(guān)系,以及如何有效地處理這些問(wèn)題。此外還提供了基本的應(yīng)用程序給仿真模擬,數(shù)值方法,符號(hào)計(jì)算,軟件和系統(tǒng)設(shè)計(jì)。
7.《Refactoring》Martin Fowler寫(xiě)的《Refactoring》
主要關(guān)于改進(jìn)現(xiàn)有代碼的設(shè)計(jì)。這是一個(gè)改變軟件系統(tǒng)而不改變代碼的外部行為,卻能提高它內(nèi)部結(jié)構(gòu)的過(guò)程。通過(guò)重構(gòu),你甚至可以將一個(gè)糟糕的設(shè)計(jì)重新制作為一個(gè)很好的設(shè)計(jì)。這本書(shū)對(duì)重構(gòu)原則進(jìn)行了深入探討,包括在哪里發(fā)現(xiàn)重構(gòu)的機(jī)會(huì),以及如何建立所需的測(cè)試。另外還有一個(gè)目錄有40多個(gè)已經(jīng)用細(xì)節(jié)證明的重構(gòu),這些細(xì)節(jié)包括何時(shí)以及為什么要使用重構(gòu),逐步說(shuō)明如何實(shí)現(xiàn)重構(gòu),并舉例說(shuō)明重構(gòu)是如何工作的。這本書(shū)用Java作為其主要語(yǔ)言而寫(xiě),但其中的思路適用于任何OO語(yǔ)言。
it行業(yè)必看的書(shū)籍
1.《Code Complete 2》
就是它了!這就是我認(rèn)為首屈一指值得閱讀的書(shū)(請(qǐng)恕我妄言),如果你要成為一個(gè)優(yōu)秀的軟件工程師的話。它被廣泛認(rèn)為是最好的實(shí)用性編程指南之一,Steve McConnell最初的《Code Complete》在過(guò)去的10多年時(shí)間里,一直在幫助開(kāi)發(fā)人員編寫(xiě)更好的軟件?,F(xiàn)在,這部經(jīng)典書(shū)籍已全面更新,修改成了前沿的實(shí)踐方法——以及數(shù)以百計(jì)的新的代碼示例——修訂了軟件結(jié)構(gòu)的藝術(shù)和科學(xué)。從研究、學(xué)術(shù)界和日常商業(yè)實(shí)踐中捕獲知識(shí)體系,McConnell將最有效的技術(shù)和必須知道的原則總結(jié)成清晰又務(wù)實(shí)的指導(dǎo)。無(wú)論你的經(jīng)驗(yàn)水平,開(kāi)發(fā)環(huán)境,還有項(xiàng)目規(guī)模如何,這本書(shū)都可以啟迪和激發(fā)你的思考,幫助你打造最優(yōu)質(zhì)的代碼。
2.《Code Complete 2》
就是它了!這就是我認(rèn)為首屈一指值得閱讀的書(shū)(請(qǐng)恕我妄言),如果你要成為一個(gè)優(yōu)秀的軟件工程師的話。它被廣泛認(rèn)為是最好的實(shí)用性編程指南之一,Steve McConnell最初的《Code Complete》在過(guò)去的10多年時(shí)間里,一直在幫助開(kāi)發(fā)人員編寫(xiě)更好的軟件。現(xiàn)在,這部經(jīng)典書(shū)籍已全面更新,修改成了前沿的實(shí)踐方法——以及數(shù)以百計(jì)的新的代碼示例——修訂了軟件結(jié)構(gòu)的藝術(shù)和科學(xué)。從研究、學(xué)術(shù)界和日常商業(yè)實(shí)踐中捕獲知識(shí)體系,McConnell將最有效的技術(shù)和必須知道的原則總結(jié)成清晰又務(wù)實(shí)的指導(dǎo)。無(wú)論你的經(jīng)驗(yàn)水平,開(kāi)發(fā)環(huán)境,還有項(xiàng)目規(guī)模如何,這本書(shū)都可以啟迪和激發(fā)你的思考,幫助你打造最優(yōu)質(zhì)的代碼。
3.《Structure and Interpretation of Computer Programs》
以一種對(duì)解決問(wèn)題和編程技術(shù)分析和嚴(yán)謹(jǐn)?shù)膽B(tài)度,這本書(shū)面向于工程?!禨tructure and Interpretation of Computer Programs》強(qiáng)調(diào)通過(guò)不同方式來(lái)發(fā)揮核心作用,以處理計(jì)算模型中的時(shí)間。其獨(dú)特的方式使得它非常適合于計(jì)算機(jī)科學(xué)課程,以及編程語(yǔ)言和程序設(shè)計(jì)的入門。這本書(shū)進(jìn)一步解釋了4個(gè)最著名的編程語(yǔ)言范式——命令式編程,面向?qū)ο缶幊?,基于邏輯編程和?yīng)用性編程。
學(xué)習(xí)it必看的書(shū)籍
1.《Refactoring》Martin Fowler寫(xiě)的《Refactoring》
主要關(guān)于改進(jìn)現(xiàn)有代碼的設(shè)計(jì)。這是一個(gè)改變軟件系統(tǒng)而不改變代碼的外部行為,卻能提高它內(nèi)部結(jié)構(gòu)的過(guò)程。通過(guò)重構(gòu),你甚至可以將一個(gè)糟糕的設(shè)計(jì)重新制作為一個(gè)很好的設(shè)計(jì)。這本書(shū)對(duì)重構(gòu)原則進(jìn)行了深入探討,包括在哪里發(fā)現(xiàn)重構(gòu)的機(jī)會(huì),以及如何建立所需的測(cè)試。另外還有一個(gè)目錄有40多個(gè)已經(jīng)用細(xì)節(jié)證明的重構(gòu),這些細(xì)節(jié)包括何時(shí)以及為什么要使用重構(gòu),逐步說(shuō)明如何實(shí)現(xiàn)重構(gòu),并舉例說(shuō)明重構(gòu)是如何工作的。這本書(shū)用Java作為其主要語(yǔ)言而寫(xiě),但其中的思路適用于任何OO語(yǔ)言。
2.《Clean Code》
《Clean Code》,作者Robert C. Martin,分為三個(gè)部分。第一部分介紹原則、模式和編寫(xiě)干凈代碼的實(shí)踐方法。第二部分包括若干個(gè)復(fù)雜度漸進(jìn)的研究案例。每個(gè)案例研究就是一個(gè)清潔代碼的練習(xí),也是通過(guò)解決代碼庫(kù)中的一些問(wèn)題讓代碼變得健全、高效的練習(xí)。第三部分是決定性的一個(gè)部分每個(gè)單獨(dú)的章節(jié)在創(chuàng)建案例研究的時(shí)候包含了一系列啟發(fā)式的教學(xué)法。最后得到了描述我們?cè)诰帉?xiě)、閱讀和清理代碼時(shí)的思考方式的知識(shí)庫(kù)。
3.《Introduction to Algorithms》
這必須是理解和使用算法(將在軟件開(kāi)發(fā)中涉及很多)的最佳書(shū)籍。有些關(guān)于算法的書(shū)雖然嚴(yán)謹(jǐn),但不全面——還有一些雖然涉及面廣,但卻缺乏嚴(yán)謹(jǐn)性?!禝ntroduction to Algorithms》獨(dú)特地結(jié)合了嚴(yán)謹(jǐn)性和全面性。這本書(shū)涵蓋了廣泛又深入的算法,使得書(shū)中的設(shè)計(jì)和分析能夠面向所有層次的閱讀人員。每個(gè)章節(jié)相對(duì)獨(dú)立,可看作是一個(gè)學(xué)習(xí)單元。算法用英語(yǔ)和可讀的偽代碼描述。它使用初級(jí)基本的解釋,并不犧牲覆蓋的深度和材料的嚴(yán)謹(jǐn)性。第一版不僅廣泛成為了世界各地高校的教材,還成為了專業(yè)人士的標(biāo)準(zhǔn)參考書(shū)。第二版新增了算法,概率分析,隨機(jī)算法,線性規(guī)劃的章節(jié)。
猜你喜歡: