出版時間:2010年9月 出版社:電子工業(yè)出版社 作者:Kevlin Henney 頁數(shù):229 譯者:李軍 譯,呂駿 審校
Tag標(biāo)簽:無
前言
熟知軟件開發(fā)的人都知道這個行業(yè)里充滿了一次次悲壯的失敗,每一座成功項目的豐碑底下都埋葬著無數(shù)同類型的失敗項目。大多數(shù)軟件項目都像是一次典型的死亡行軍。在開拔前,項目經(jīng)理向公司立下軍令狀,宣布自己打算用多少人員多少預(yù)算,在多少天內(nèi)拿下客戶方的全部需求。他堅信目前使用的開發(fā)模式完成這類作戰(zhàn)任務(wù),如同牛刀殺雞,石頭砸蛋。團隊上下也自信滿滿,忘記了上一個項目帶來的傷痛。隨著項目經(jīng)理一聲令下,程序員和其他項目組成員們一起抱著滅此朝食的決心,奮勇向前。第一波攻勢異常凌厲,有效的甲乙方溝通、高效的團隊合作、靈活健壯的系統(tǒng)架構(gòu)以及高昂的戰(zhàn)斗熱情像四連殺一般輕松地把客戶的前期需求分割包圍、聚而殲之。團隊士氣從來沒有這么高漲過,項目經(jīng)理甚至偷偷地跟公司上層表示說“可以提前完成”??上Ш镁安婚L,壞消息終于還是傳來了:“某某模塊的代碼效率欠高,在集成測試時,拖垮了整個工程。”怎么回事?是誰干的?怎么辦?誰去援救?怎么補救?修改還是重寫?會影響進度的吧?要告訴客戶嗎?……所有相關(guān)問題瞬間堆滿了桌面,程序員們面面相覷。有人建議說讓他吃自己的狗食吧,隨后有人反對說他那種水平吃下去的是狗食,擠出來的還是狗食;有人建議增派高手來,但馬上又有人用《人月神話》里的名言反駁掉了;還有人說要么項目經(jīng)理親自上陣吧,急得項目經(jīng)理直翻白眼,趕忙辯解說不寫代碼很多年了。大家吵吵嚷嚷,莫衷一是,最后還是一位資深程序員自告奮勇說“還是我加班來解決吧。”項目經(jīng)理很高興,又加了一句“我們不能辛苦一個好兄弟,大家一起加班吧,爭取早日完成項目!”加班是一種習(xí)慣,并會逐漸產(chǎn)生依賴。團隊里的一些程序員開始像某種嚙齒類動物一樣愛上了晝伏夜出——白天上網(wǎng)聊天,晚上加班加點;而剩余一些人仍然維持著原來的生物鐘,不合拍的氣氛正在團隊里四散彌漫。
內(nèi)容概要
本書是一線程序員的經(jīng)驗薈萃,他們根據(jù)各自在軟件工程各環(huán)節(jié)里的實踐經(jīng)歷,現(xiàn)身說法,提出了自己的真知灼見,這些經(jīng)驗涵蓋了用戶需求、系統(tǒng)分析設(shè)計、編碼實踐、編碼風(fēng)格、Bug管理和項目管理等多個方面。來自各領(lǐng)域的程序員都能從中找到自己感興趣的內(nèi)容,因此,適合不同層次程序員的閱讀。
作者簡介
Kevlin Henney是一名獨立咨詢師、培訓(xùn)師兼作者。他專注于程序設(shè)計,探索設(shè)計模式,積累實踐經(jīng)驗,研究開發(fā)過程。曾與他人合著“Pattern-Oriented Software Architecture Volume 4:A Pattern Language for Distributed Computing”和“Pattern—Oriented Software Architect
書籍目錄
前言謹(jǐn)慎行動Seb Rose函數(shù)式編程原則的應(yīng)用Edward Garson試問自己“用戶會怎么做?”(你不能算是用戶)Giles Colborne編碼標(biāo)準(zhǔn)的自動化Filip van Laenen美在于簡單Jorn Olmheim在你重構(gòu)之前Rajith Attapattu謹(jǐn)防共享Udi Dahan童子軍規(guī)則Robert C. Martin (Uncle Bob)在責(zé)備別人之前先檢查自己的代碼Allan Kelly謹(jǐn)慎選擇你的工具Giovanni Asproni領(lǐng)域語言里的代碼Dan North代碼就是設(shè)計Ryan Brush關(guān)于代碼布局的麻煩事Steve Freeman代碼審查Mattias Karlsson編寫代碼的理由Yechiel Kimchi對注釋的一個注釋Cal Evans代碼說不清,注釋來補充Kevlin Henney不斷學(xué)習(xí)Clint Shank易用不是一種能力Gregor Hohpe早部署,常部署Steve Berczuk區(qū)分業(yè)務(wù)異常和技術(shù)異常Dan Bergh Johnsson有針對性地勤加練習(xí)Jon Jagger領(lǐng)域特定語言Michael Hunger不要怕搞砸Mike Lewis不要在你的測試代碼里裝可愛Rod Begbie不要忽略那個錯誤Pete Goodliffe不要只學(xué)習(xí)語言,還要了解它的文化內(nèi)涵……作者簡介索引
章節(jié)摘錄
插圖:如果你的應(yīng)用程序的數(shù)據(jù)大小超過了系統(tǒng)的RAM,在索引后的RDBMS表里的執(zhí)行速度就會比你庫里的map集合類型要快上好幾個數(shù)量級,后者會引起虛擬內(nèi)存頁的抖動。現(xiàn)代數(shù)據(jù)庫可以很容易地與你的需求一起增長。當(dāng)有需要的,只要小心從事,就能將一個嵌入式數(shù)據(jù)庫擴展成一個更大的數(shù)據(jù)庫系統(tǒng)。隨后,你也能從一個免費的開源數(shù)據(jù)庫切換到另一個有更好支持或更強大的專有系統(tǒng)上。一旦你掌握了SQL的竅門,就會將編寫以數(shù)據(jù)庫為中心的應(yīng)用視為一種快樂。把適度范型化的數(shù)據(jù)存儲到數(shù)據(jù)庫之后,那就可以很容易地使用可讀的SQL查詢高效地析取出需要的數(shù)據(jù),無需編寫任何復(fù)雜的代碼。類似的,一條單獨的SQL命令就能完成復(fù)雜的數(shù)據(jù)更改。對于一次性的修改,比如說,你組織持久數(shù)據(jù)的方式上的一次改變——你甚至不需要編寫代碼:只要啟動數(shù)據(jù)庫的直接SQL接口就行了。在同一個接口上,你還可以做查詢試驗,從而回避了常規(guī)編程語言里的編譯一編輯循環(huán)。
編輯推薦
《程序員應(yīng)該知道的97件事》:博采專家智慧,學(xué)習(xí)每個程序員應(yīng)該知道的一切。無論你使用何種語言,通過書中97個專為程序員準(zhǔn)備的短小精悍、極其有用的技巧,你將學(xué)會用全新思路解決老問題。在中肯的建議下,學(xué)會采納恰到好處的完美實踐經(jīng)驗,磨礪你的技藝,提升你的專業(yè)技能。《程序員應(yīng)該知道的97件事》作者都是業(yè)界最有經(jīng)驗、最受人尊敬的實踐者,包括Michael Feathers、PeteGoodliffe、Diomidis Spinellis、Cay Horstmann、Verity Stob等。書中包含的實踐知識和原則可以任你運用到各類項目中。書中有代表性的主題包括:領(lǐng)域語言里的代碼(Dan North)測試為人而寫(Gerard Meszaros)易用不是一種能力(Gregor Hophe)了解你的IDE(Heinz Kabutz)帶給未來的消息(Linda Rising)童子軍規(guī)則(Robert C.Martin,又名Uncle Bob)謹(jǐn)慎共享(Udi Dahan)
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載