注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)程序設(shè)計(jì)綜合軟件預(yù)構(gòu)藝術(shù)(影印版)

軟件預(yù)構(gòu)藝術(shù)(影印版)

軟件預(yù)構(gòu)藝術(shù)(影印版)

定 價(jià):¥45.00

作 者: (美)皮尤(Pugh,K.)著
出版社: 東南大學(xué)出版社
叢編項(xiàng): 東南大學(xué)出版社O'REILLY圖書系列
標(biāo) 簽: 暫缺

ISBN: 9787564103651 出版時(shí)間: 2006-05-01 包裝: 膠版紙
開本: 16開 頁數(shù): 220 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  利用經(jīng)驗(yàn)累積而得的洞察力開發(fā)新的解決方案被稱為預(yù)構(gòu)。透過重構(gòu)而獲得的專業(yè)知識(shí)也屬于這類經(jīng)驗(yàn),而預(yù)構(gòu)的詞源即重構(gòu)。重構(gòu)是修改程序或軟件系統(tǒng)內(nèi)部結(jié)構(gòu)的實(shí)踐,以此在保留其現(xiàn)有行為的基礎(chǔ)上改良設(shè)計(jì)。重構(gòu)的原因有多種:方便后期增加功能、提高可維護(hù)性、提升性能。 本書作者是經(jīng)驗(yàn)老道的軟件開發(fā)人員。書中,作者運(yùn)用他個(gè)人和其他眾多開發(fā)人員的豐富經(jīng)驗(yàn),展示由其推衍而得的各項(xiàng)實(shí)踐方針。這些方針把優(yōu)秀的開發(fā)人員在設(shè)計(jì)時(shí)隱而未顯的考慮細(xì)節(jié)如實(shí)地呈現(xiàn)出來。許多方針都圍繞著極致抽象化、極致隔離以及極致可讀性這幾個(gè)概念。在假想的軟件項(xiàng)目和實(shí)際項(xiàng)目的介紹中,作者把實(shí)踐方針呈現(xiàn)在讀者面前。其中幾條于稍后列出。 把作者的方針應(yīng)用到你的軟件項(xiàng)目,有助于寫出可讀性、可維護(hù)性更棒的程序。這些方針可以協(xié)助你前期決策,以減少后期重構(gòu)的工作量。在這樣的前提下,你可以預(yù)測(cè)未來,減少修改。簡(jiǎn)言之,就是程序預(yù)構(gòu)會(huì)使你更有效率。 * 要抽象,就徹底抽象* 整合小塊要比分拆大塊容易* 做好小差事,就能常受重用* 全局計(jì)劃,局部開發(fā)* 讓你的程序能夠溝通* 最容易調(diào)試的程序是還沒寫的程序* 使用客戶的語言* 不要讓冷氣進(jìn)來* 絕不沉默* 不要加速,直到你知道要去哪兒

作者簡(jiǎn)介

  Ken Pugh是Puge-Killen協(xié)會(huì)主席之一。Ken擔(dān)任顧問、從事教育培訓(xùn)、擔(dān)任教師以及出庭提供證詞,涉足的科技領(lǐng)域有面向?qū)ο笤O(shè)計(jì)、Linux/unix、網(wǎng)絡(luò)以及系統(tǒng)開發(fā)實(shí)踐。他參與過的項(xiàng)目包括山羊血清流程控制、擔(dān)保抵押處理軟件以及攝影分級(jí)。Ken時(shí)常在全國會(huì)議和區(qū)域會(huì)議發(fā)表演講,從倫敦到悉尼都有他的客戶。不工作時(shí),他喜歡滑雪、沖浪、騎自行車以及到阿帕拉契山徑徒步旅行。

圖書目錄

PREFACE
1 INTRODUCTION TO PREFACTORING
What Is Prefactoring?
The Three Extremes
The Guidelines Explored
The Context for This Book
2 THE SYSTEM IN SO MANY WORDS
Meet Sam
Reinvention Avoidance
What's in a Name?
Splitters Versus Lumpers
Clumping
Abstracting
Prototypes Are Worth a Thousand Words
3 GENERAL DEVELOPMENT ISSUES
Start with the Big Picture
Interface Contracts
Validation
Code Communicates
Consistency Is Simplicity
A Prefactoring Attitude
Don't Repeat Yourself
Documentation of Assumptions and Decisions
Dealing with Deuiations and Errors
Speeding
The Spreadsheet Conundrum
Tools Are Tools--Use Them Wisely
4 GETTING THE BIG PICTURE
The Rest of the Story
Process
The Initial Design
Global Planning, Local Designing
Testing Functionality
Testing quality
Security
5    GOT CLASS ?
    Categories and Classes
    Declaration Versus Execution
    Appropriate Inheritance
     Communicate withext
     More Than One
6    A FEW WORDS ON CLASSES
     Honor the Class Maxims
     Three Laws of Objects
     Need Determines Class
     Polymorphism
     One Little.lob
     Policy Versus Implementation
     Extreme Naming
     Overloading Functions
  7   GETTING THERE
     Where We Are
     Separating Concerns
     Migrating to the New System
8 THE FIRSTRELEASE
      The Proof Is in the Puddin.~
      Relrospective Time
      The System as It Stands Now
      Operations Interface
      Abstract Data Types
      Configuration
      Testing
      Dealing with Deuiations and Errors
      A Little Prefactofing
      The First Released Iteration
      Sometimes Practice Does Not Match Theory
      The Rest of the Classes
   9   ASSOCIATIONS AND STATES
      Sam's Neuw Requirement
      Who's in Charge?
      The State of an Object
]0  INTERFACES AND ADAPTATION
       The Catalog Search Use Case
       Designinn the Interface
       Interface Development
       Interface Testing
       Interface Splitting
       Something Worlking
11   ZIP CODES AND INTERFACES
      Adaptation
      Pass the Buck
       Unwritten Code
       Indirection
       Logging
       Paradigm Mismatch
12   MORE REPORTS
       Fancy Reports
       Change Happens
       Exports
13   INVOICES, CREDIT CARDS, AND DISCOUNTS
       The Next Step
       The Language of the Client
       Security and Priuacy
14  SAM IS EXPANDING
       The Second Store
       A New Development
       The Third Store
       Goodbye Sam
       Generality
15   A PRINTSERVER EXAMPLE
       Introduction
       The System
       The Message
       Testing
       Logging
       Still More Separation
       Epilogue
]6   ANTISPAM EXAMPLE
       The Context
       Spare Checking
       The ReceivingMailServer
       ReceivedMailExaminer
       The Full Flow
17  EPILOGUE
A     GUIDELINES AND PRINCIPLES
  B   SOURCE CODE
        INDEX

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) hotzeplotz.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)