请输入您要查询的百科知识:

 

词条 软件预构艺术
释义

图书信息

出版社: 东南大学出版社; 第1版 (2006年5月1日)

平装: 220页

开本: 16开

ISBN: 9787564103651, 7564103655

条形码: 9787564103651

尺寸: 23.3 x 17.9 x 1.1 cm

重量: 381 g

作者简介

Ken Pugh是Puge-Killen协会主席之一。Ken担任顾问、从事教育培训、担任教师以及出庭提供证词,涉足的科技领域有面向对象设计、Linux/unix、网络以及系统开发实践。他参与过的项目包括山羊血清流程控制、担保抵押处理软件以及摄影分级。Ken时常在全国会议和区域会议发表演讲,从伦敦到悉尼都有他的客户。不工作时,他喜欢滑雪、冲浪、骑自行车以及到阿帕拉契山径徒步旅行。

内容简介

利用经验累积而得的洞察力开发新的解决方案被称为预构。透过重构而获得的专业知识也属于这类经验,而预构的词源即重构。重构是修改程序或软件系统内部结构的实践,以此在保留其现有行为的基础上改良设计。重构的原因有多种:方便后期增加功能、提高可维护性、提升性能。

本书作者是经验老道的软件开发人员。书中,作者运用他个人和其他众多开发人员的丰富经验,展示由其推衍而得的各项实践方针。这些方针把优秀的开发人员在设计时隐而未显的考虑细节如实地呈现出来。许多方针都围绕着极致抽象化、极致隔离以及极致可读性这几个概念。在假想的软件项目和实际项目的介绍中,作者把实践方针呈现在读者面前。其中几条于稍后列出。

把作者的方针应用到你的软件项目,有助于写出可读性、可维护性更棒的程序。这些方针可以协助你前期决策,以减少后期重构的工作量。在这样的前提下,你可以预测未来,减少修改。简言之,就是程序预构会使你更有效率。

目录

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

10 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

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/3/1 14:23:29