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