菜鳥(niǎo)必看的編程書(shū)籍分享
適合菜鳥(niǎo)看的編程書(shū)籍有哪些呢?以下是學(xué)習(xí)啦小編分享給大家的關(guān)于菜鳥(niǎo)必看的編程書(shū)籍,希望大家喜歡!
菜鳥(niǎo)必看的編程書(shū)籍分享:
1、重構(gòu):改善既有代碼的設(shè)計(jì)
作者 Martin Fowler
這本書(shū)也是由 Martin Fowler 編寫(xiě)的。它給重構(gòu)下了一個(gè)準(zhǔn)確的定義:
有人問(wèn)我,“難道重構(gòu)只是清理代碼?”,在某種程度上,答案是肯定的,但我覺(jué)得重構(gòu)更進(jìn)了一步,因?yàn)樗鼮榍謇泶a提供了一個(gè)更加高效和更為可控的方式。
這本書(shū)還介紹了,重構(gòu)是如何融入通常的軟件開(kāi)發(fā)過(guò)程中的:
使用重構(gòu)來(lái)開(kāi)發(fā)軟件,需要把時(shí)間分為兩個(gè)部分:添加功能和重構(gòu)。添加的新功能時(shí),不應(yīng)該改變現(xiàn)有的代碼;你只是添加新的功能。
在介紹和定義了重構(gòu)之后,F(xiàn)owler 深入講解了一系列重構(gòu)的例子。從抽取方法這種簡(jiǎn)單的開(kāi)始,然后逐漸深入到類似引入空對(duì)象的重構(gòu)方式。像之前的兩本書(shū)一樣,這本書(shū)從頭讀到尾也需要花些功夫。
2、領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)——軟件核心復(fù)雜性應(yīng)對(duì)之道
作者 Eric Evans
之前的書(shū)籍大多介紹模式,這本書(shū)有一條小小的敘事線。一個(gè)開(kāi)發(fā)者和一個(gè)領(lǐng)域的專家,搭建了一個(gè)管理船行程的應(yīng)用。在這個(gè)過(guò)程中,從最初的研究階段到實(shí)際的編碼過(guò)程,你將學(xué)到如何把一個(gè)領(lǐng)域模型化。我從這本書(shū)了解到 value types 比 Swift 發(fā)布它的 value types 早了兩年。
作者在程序員和領(lǐng)域?qū)<抑g編造的蘇格拉底式對(duì)話也有助于我們理解。有人認(rèn)為,在一個(gè)理想的世界中,一個(gè)產(chǎn)品經(jīng)理可以在開(kāi)發(fā)者和利益相關(guān)者之間傳話。而在真實(shí)的世界中,你(作為開(kāi)發(fā)者)對(duì)于表達(dá)軟件的功能和局限也負(fù)有最終的責(zé)任,這本書(shū)展示類似的應(yīng)該是什么樣子。
這四本書(shū)每一本都有各自的價(jià)值——你不僅能學(xué)到書(shū)里的知識(shí),還能學(xué)會(huì)如何思考面臨的問(wèn)題。這些書(shū)都遵循著同樣的結(jié)構(gòu):提出問(wèn)題,然后給出解決方案。將問(wèn)題和解決方法聯(lián)系起來(lái),能夠看清如何解決的整個(gè)過(guò)程,最終學(xué)會(huì)如何處理其他問(wèn)題。
3、面向?qū)ο笤O(shè)計(jì)實(shí)踐指南:Ruby語(yǔ)言描述
作者 Sandi Metz
本書(shū)作者用修自行車來(lái)類比面向?qū)ο?,從只包含一個(gè)方法的對(duì)象開(kāi)始完整地實(shí)現(xiàn)Fowler在Refactoring一書(shū)中介紹的“用多態(tài)模式替換條件表達(dá)式”。這本書(shū)并不是一下扔給你一大堆概念,而是循序漸進(jìn)由淺入深地進(jìn)行講解。
4、企業(yè)應(yīng)用架構(gòu)模式
作者 Martin Fowler
書(shū)名看起來(lái)很枯燥,不過(guò)此書(shū)包含了一系列有用的模式。讀起來(lái)就像在實(shí)現(xiàn)一個(gè)類似于 Ruby on Rails 框架食譜,所以如果說(shuō) DHH 在寫(xiě) Ruby on Rails 框架之前讀過(guò)這本書(shū),我也不會(huì)感到驚訝。
這些模式,已被用在 Web 的表單、HTML和數(shù)據(jù)庫(kù)中。前兩類很有趣,數(shù)據(jù)庫(kù)模式還可以用于編寫(xiě)現(xiàn)代的 iOS 應(yīng)用。如果你想了解一下類似于 Core Data(或者 ActiveRecord)的 ORM 是如何實(shí)現(xiàn)的,那可以看看這本書(shū)。比如,Core Data 使用了標(biāo)識(shí)映射、延遲加載、元數(shù)據(jù)映射和查詢對(duì)象等模式。
Linux編程經(jīng)典書(shū)籍分享:
1《TCP/IP詳解》
這本也是史蒂文斯的經(jīng)典傳世之作,從事linux網(wǎng)絡(luò)編程的人,希望提升功力的話,需要好好看看。分為3卷,可以先買(mǎi)第一卷看看,第一卷比較實(shí)用。
2《LINUX與UNIX Shell編程指南》
在linux下,shell命令是基本的技能,必須非常熟練,而這本書(shū)內(nèi)容非常全面,目錄結(jié)構(gòu)非常清晰,內(nèi)容相當(dāng)權(quán)威,非國(guó)內(nèi)“教授”所寫(xiě)的什么《shell編程入門(mén)》可比,不過(guò)這本書(shū)好像已經(jīng)買(mǎi)不到紙質(zhì)版了,只能下載到電子版。
3《UNIX環(huán)境高級(jí)編程》
這本書(shū)被譽(yù)為unix編程圣經(jīng),作者史蒂文斯是世界權(quán)威技術(shù)作者。幾乎所有的Linux和Unix從業(yè)人員人手一本,任何希望對(duì) Unix/Linux系統(tǒng)有進(jìn)一步的了解的人不能不讀這本書(shū)。對(duì)老手而言,本書(shū)內(nèi)容權(quán)威,可以作為L(zhǎng)inux和Unix編程的工具書(shū),對(duì)于新手來(lái)說(shuō),也是 一本很好的入門(mén)書(shū)籍。英文基礎(chǔ)好的建議看英文原版,中文版翻譯的也還好,但是有些地方可能沒(méi)有直接看英文版那么好理解。
4《UNIX網(wǎng)絡(luò)編程》
史蒂文斯的三本經(jīng)典傳世之作之一,分為卷1和卷2兩本,UNIX網(wǎng)絡(luò)編程的經(jīng)典之作。
看過(guò)"菜鳥(niǎo)必看的編程書(shū)籍分享"的人還關(guān)注了: