代碼整潔之道

出版時間:2009-8-1  出版社:人民郵電出版社  作者:(美)馬丁(Martin,R.C)  頁數(shù):431  字?jǐn)?shù):592000  
Tag標(biāo)簽:無  

前言

你的代碼在哪道門后面?你的團隊或公司在哪道門后面?為什么會在那里?只是一次普通的代碼復(fù)查,還是產(chǎn)品面世后才發(fā)現(xiàn)一連串嚴(yán)重問題?我們是否在戰(zhàn)戰(zhàn)兢兢地調(diào)試自己之前錯以為沒問題的代碼?客戶是否在流失?經(jīng)理們是否把我們盯得如芒刺在背?當(dāng)事態(tài)變得嚴(yán)重起來,如何保證我們在那道正確的門后做補救工作?答案是:技藝。習(xí)藝之要有二:知和行。你應(yīng)當(dāng)習(xí)得有關(guān)原則、模式和實踐的知識,窮盡應(yīng)知之事,并且要對其了如指掌,通過刻苦實踐掌握它。我可以教你騎自行車的物理學(xué)原理。實際上,經(jīng)典數(shù)學(xué)的表達方式相對而言確實簡潔明了。重力、摩擦力、角動量、質(zhì)心等,用一頁寫滿方程式的紙就能說明白。有了這些方程式,我可以為你證明出騎車完全可行,而且還可以告訴你騎車所需的全部知識。即便如此,你在初次騎車時還是會跌倒在地。

內(nèi)容概要

軟件質(zhì)量,不但依賴于架構(gòu)及項目管理,而且與代碼質(zhì)量緊密相關(guān)。這一點,無論是敏捷開發(fā)流派還是傳統(tǒng)開發(fā)流派,都不得不承認(rèn)。    本書提出一種觀念:代碼質(zhì)量與其整潔度成正比。干凈的代碼,既在質(zhì)量上較為可靠,也為后期維護、升級奠定了良好基礎(chǔ)。作為編程領(lǐng)域的佼佼者,本書作者給出了一系列行之有效的整潔代碼操作實踐。這些實踐在本書中體現(xiàn)為一條條規(guī)則(或稱“啟示”),并輔以來自現(xiàn)實項目的正、反兩面的范例。只要遵循這些規(guī)則,就能編寫出干凈的代碼,從而有效提升代碼質(zhì)量。    本書閱讀對象為一切有志于改善代碼質(zhì)量的程序員及技術(shù)經(jīng)理。書中介紹的規(guī)則均來自作者多年的實踐經(jīng)驗,涵蓋從命名到重構(gòu)的多個編程方面,雖為一“家”之言,然誠有可資借鑒的價值。

作者簡介

作者:(美國)Robert C.MartinRObert C.Ma rlin,(Bob大叔)自1970年進入軟件行業(yè),從1990年起成為國際軟件咨詢師。他是Object Mentor公司的創(chuàng)始人和總裁。Object Mentor:是由一群經(jīng)驗豐富的咨詢師組成的公司,他們的客戶遍及全世界。業(yè)務(wù)涉及C++、.Java、C#、Ruby、面向?qū)ο?、設(shè)計模式、UML、敏捷方法論和極限編程等領(lǐng)域。

書籍目錄

Chapter 1:Clean C0de  There Will Be C0de  Bad COde  The T0tal C0st 0f Owning a Mess    The Grand Redesign in the Sky    Attitude    The Primal Conundrum    The Art of Clean COde?    What Is Clean C0de?  Schools ofThought  Wle Are Authors  The Bov ScOut Rule  Prequel and Principles  ConclusiOn  BibliographyChapter 2:Meaningful Names IntroductiOn Use Intention-Revealing Names AvOid Disinformation Make Meaningful DistinctiOns Use PronOunceable Names Use Searchable Names Avoid Encodings    Hungarian Notation    Member Prefixes    Interfaces and Implememations  Avoid Mental Mapping  Class Names  MethOd Names  Don’t Be Cute  Pick One Word per Concept  DOn’t Pun  Use SolutiOn DOmain Names  Use Problem DOmain Names  Add Meaningful COntext  DOn’tAdd GratuitOus COntext  Final WordsChapter 3:Functions  Small!    Blocks and Indenting  DO one Thing    SectiOns within Functions    one LeVel of Abstraction per Function    Reading Code from Top to Bottom:The Stepdown Rule  Switch Statements  Use Descriptive Names  FunctiOn Arguments    Common MOnadic FOrms    Flag Arguments    Dyadic Functions    Triads    Argument objects    Argument Lists    Verbs and Keywords  Have NO side Efrects    Output Arguments  Command Query Separation ……Chapter 4:CommentsChapter 5:FormattingChapter 6:Objects and Data StructuresChapter 7:Error HandlingChapter 8:BoundariesChapter 9:Unit TestsChapter 10:ClassesChapter 11:SystemsChapter 12:EmergenceChapter 13:ConcurrencyChapter 14:Successive RefinementChapter 15:JUnit InternalsChapter 16:Refactoring SerialDateChapter 17:Smells and HeuristicsAppendix A:ConcurrencyⅡAppendix B:org.jfree.date.SerialDateAppendix C:Cross References of HeuristicsEpilogueIndex

章節(jié)摘錄

插圖:

編輯推薦

從《代碼整潔之道(英文版)》中可以學(xué)到:好代碼和糟糕的代碼之間的區(qū)別;如何編寫好代碼。如何將糟糕的代碼轉(zhuǎn)化為好代碼; 如何創(chuàng)建好名稱、好函數(shù)、好對象和好類;如何格式化代碼以實現(xiàn)其可讀性的最大化;如何在不妨礙代碼邏輯的前提下充分實現(xiàn)錯誤處理;如何進行單元測試和測試驅(qū)動開發(fā)。Robert C.Martin(Bob大叔)自1970進入軟件行業(yè)。從1990年起成為國際軟件咨詢師。他是ObjectMentor公司的創(chuàng)始人和總裁。Object Mentor是由一群經(jīng)驗豐富的咨詢師組成的公司,他們的客戶遍及全世界。業(yè)務(wù)涉及C++、Java、C#、Ruby、面向?qū)ο蟆⒃O(shè)計模式、UML、敏捷方法論和極限編程等領(lǐng)域。盡管糟糕的代碼也能運行,但如果代碼不整潔,會使整個開發(fā)團隊泥足深陷,寫得不好的代碼每年都要耗費難以計數(shù)的時間和資源。然而這種情況并非無法避免。著名軟件專家Robert C.Martin在《代碼整潔之道(英文版)》中為你呈現(xiàn)出了革命性的視野。Martin攜同Object Menlor公司的同事,從他們有關(guān)整潔代碼的最佳敏捷實踐中提煉出軟件技藝的價值觀,以饗讀者,讓你成為更優(yōu)秀的程序員——只要你著手研讀《代碼整潔之道(英文版)》。閱讀《代碼整潔之道(英文版)》需要你做些什么呢?你將閱讀代碼——大量代碼。《代碼整潔之道(英文版)》促使你思考代碼中何謂正確,何謂錯誤。更重要的是?!洞a整潔之道(英文版)》將促使你重新評估自己的專業(yè)價值觀,以及對自己技藝的承諾。

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    代碼整潔之道 PDF格式下載


用戶評論 (總計14條)

 
 

  •   在現(xiàn)代,軟件生產(chǎn)效率逐漸提高,逐步快餐化,很多開發(fā)人員為了趕進度而無視代碼質(zhì)量.等到問題出現(xiàn),面對混亂的代碼卻束手無策,只能放棄維護產(chǎn)品.這對于一個成功的團隊絕對是不可取的.這本書通過案例分析闡述了寫出高質(zhì)量代碼的方法和技巧,以使團隊始終高效地開發(fā)與維護,這不管是對于敏捷開發(fā)流派還是對于傳統(tǒng)開發(fā)流派都是很有價值的.本書最具價值的部分是中間的幾個案例分析,比較難啃,但是反復(fù)看過會受益匪淺.
  •   國內(nèi)的程序開發(fā)領(lǐng)域風(fēng)氣不是很正,很多人都認(rèn)為寫代碼是沒前途的工作,老早就都開始琢磨如何轉(zhuǎn)作系統(tǒng)分析師、項目經(jīng)理,真正一心把代碼寫好的人真是非常少。
    我覺得寫代碼是很能磨練人的,希望這本書能助我平穩(wěn)心態(tài),把小事做好,再想未來。
  •   顯然所有的示例代碼都是用java寫的,但畢竟c++和java有很多類似的東西,對于c++程序員來說還是很有用的
  •   很值得看下,代碼如果這樣寫,那可讀性就高咯
  •   內(nèi)容不錯,不過都是Java代碼
  •   書的確是好書,寫的不錯。但是發(fā)過來的書面子很破,像是舊書,破舊的不得了。。。。這種書打?qū)φ圪u才差不多。。。。
  •   很好的一本書,幫助很大,看了一部分后寫程序就更注意整潔性了。沒打5分是因為書是以java為例講解的,而我主要是用C++和C#,java不熟
  •   書的紙張很好,很新??爝f很快。這2本書都是關(guān)于重構(gòu)的。我覺得這類的數(shù)中,這2本很好。將的很系統(tǒng)。
  •   文中提到的觀點都比較贊同。尤其是函數(shù)要端,類要小這些準(zhǔn)則。已經(jīng)在實踐中。這本書里面的很多原則和敏捷軟件開發(fā)的原則暗合.
  •   這本書是作為一名程序員的必備書籍,讀完一遍,正準(zhǔn)備讀第二遍,紙張也可以
  •   handbook,所以不要想的太多,就是平時休閑的時候看看的那種... 閱讀更多
  •   書中給出的是一些準(zhǔn)則,并且結(jié)合了可行的實際操作方式。這些準(zhǔn)則,有些是熟知的,有些則是想都沒想過,甚至顛覆了一直以來的認(rèn)知,如其中給出的一條 盡量不要寫注釋。當(dāng)然這些準(zhǔn)則不可能完全遵守,需要結(jié)合實際來決定是否要采納。例如有些客戶對注釋的量是有一定的要求的。有點可惜的是作者說到的一個非常整潔的代碼,由于無法找回,所以是看不到了。... 閱讀更多
  •   所有軟件工程師都應(yīng)該買這本書,這樣才能讓軟件開發(fā)者更職業(yè)、專業(yè)化!不是會寫代碼就可以稱為軟件工程師。
  •   這本書說得很透徹,能給程序員很多細(xì)節(jié)上的指點~~很具體~~~
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7