售价: ¥642.00 待定配送费
此商品不能使用“一键下单”
亚马逊的其他卖家
加入购物车
¥642.00
此商品可以享受免费配送 详情
卖家: 亚马逊
前翻 后翻
正在播放... 已暂停   您正在聆听的 Audible 音频版本的样品。
了解更多信息
查看全部 3 张图片

Refactoring: Improving the Design of Existing Code (英语) 精装 – 1999年7月8日

平均 5.0 星 1 条商品评论
| 天天低价·正品质优
|
分享
广告

显示所有 格式和版本 隐藏其他格式和版本
亚马逊价格
全新品最低价 非全新品最低价
精装
¥642.00
¥642.00
 

此商品有一个较新的版本:

Refactoring: Improving the Design of Existing Code (2nd Edition)
¥585.13
预售商品:暂无上市时间,

click to open popover

无需Kindle设备,下载免费Kindle阅读软件,即可在您的手机、电脑及平板电脑上畅享阅读。

  • iPhone/iPad/Mac
  • Android手机或平板电脑

请输入您的手机号码,获取Kindle阅读软件的下载链接。



基本信息

  • 出版社: Addison-Wesley Professional; 1 (1999年7月8日)
  • 丛书名: Addison-Wesley Object Technology Series
  • 精装: 464页
  • 语种: 英语
  • ISBN: 0201485672
  • 条形码: 9780201485677, 0785342485677
  • 商品尺寸: 19 x 3 x 23.4 cm
  • 商品重量: 898 g
  • ASIN: 0201485672
  • 用户评分: 平均 5.0 星 1 条商品评论
  • 亚马逊热销商品排名: 图书商品里排第786,245名 (查看图书商品销售排行榜)
  • 您想告诉我们您发现了更低的价格?

商品描述

作者简介

Martin Fowler is the Chief Scientist of ThoughtWorks, an enterprise-application development and delivery company. He's been applying object-oriented techniques to enterprise software development for over a decade. He is notorious for his work on patterns, the UML, refactoring, and agile methods. Martin lives in Melrose, Massachusetts, with his wife, Cindy, and a very strange cat. His homepage is http://martinfowler.com.

Kent Beck consistently challenges software engineering dogma, promoting ideas like patterns, test-driven development, and Extreme Programming. Currently affiliated with Three Rivers Institute and Agitar Software, he is the author of many Addison-Wesley titles.

John Brant and Don Roberts are the authors of the Refactoring Browser for Smalltalk, which is found at http://st-www.cs.uiuc.edu/~brant/RefactoringBrowser/. They are also consultants who have studied both the practical and theoretical aspects of refactoring for six years.

William Opdyke's doctoral research on refactoring object-oriented frameworks at the University of Illinois led to the first major publication on this topic. He is currently a Distinguished Member of Technical Staff at Lucent Technologies/Bell Laboratories.

John Brant and Don Roberts are the authors of the Refactoring Browser for Smalltalk, which is found at http://st-www.cs.uiuc.edu/~brant/RefactoringBrowser/. They are also consultants who have studied both the practical and theoretical aspects of refactoring for six years.



目录



1. Refactoring, a First Example.

The Starting Point.

The First Step in Refactoring.

Decomposing and Redistributing the Statement Method.

Replacing the Conditional Logic on Price Code with Polymorphism.

Final Thoughts.



2. Principles in Refactoring.

Defining Refactoring.

Why Should You Refactor?

When Should You Refactor?

What Do I Tell My Manager?

Problems with Refactoring.

Refactoring and Design.

Refactoring and Performance.

Where Did Refactoring Come From?



3. Bad Smells in Code.

Duplicated Code.

Long Method.

Large Class.

Long Parameter List.

Divergent Change.

Shotgun Surgery.

Feature Envy.

Data Clumps.

Primitive Obsession.

Switch Statements.

Parallel Inheritance Hierarchies.

Lazy Class.

Speculative Generality.

Temporary Field.

Message Chains.

Middle Man.

Inappropriate Intimacy.

Alternative Classes with Different Interfaces.

Incomplete Library Class.

Data Class.

Refused Bequest.

Comments.



4. Building Tests.

The Value of Self-testing Code.

The JUnit Testing Framework.

Adding More Tests.



5. Toward a Catalog of Refactorings.

Format of the Refactorings.

Finding References.

How Mature Are These Refactorings?



6. Composing Methods.

Extract Method.

Inline Method.

Inline Temp.

Replace Temp with Query.

Introduce Explaining Variable.

Split Temporary Variable.

Remove Assignments to Parameters.

Replace Method with Method Object.

Substitute Algorithm.



7. Moving Features Between Objects.

Move Method.

Move Field.

Extract Class.

Inline Class.

Hide Delegate.

Remove Middle Man.

Introduce Foreign Method.

Introduce Local Extension.



8. Organizing Data.

Self Encapsulate Field.

Replace Data Value with Object.

Change Value to Reference.

Change Reference to Value.

Replace Array with Object.

Duplicate Observed Data.

Change Unidirectional Association to Bidirectional.

Change Bidirectional Association to Unidirectional.

Replace Magic Number with Symbolic Constant.

Encapsulate Field.

Encapsulate Collection.

Replace Record with Data Class.

Replace Type Code with Class.

Replace Type Code with Subclasses.

Replace Type Code with State/Strategy.

Replace Subclass with Fields.



9. Simplifying Conditional Expressions.

Decompose Conditional.

Consolidate Conditional Expression.

Consolidate Duplicate Conditional Fragments.

Remove Control Flag.

Replace Nested Conditional with Guard Clauses.

Replace Conditional with Polymorphism.

Introduce Null Object.

Introduce Assertion.



10. Making Method Calls Simpler.

Rename Method.

Add Parameter.

Remove Parameter.

Separate Query from Modifier.

Parameterize Method.

Replace Parameter with Explicit Methods.

Preserve Whole Object.

Replace Parameter with Method.

Introduce Parameter Object.

Remove Setting Method.

Hide Method.

Replace Constructor with Factory Method.

Encapsulate Downcast.

Replace Error Code with Exception.

Replace Exception with Test.



11. Dealing with Generalization.

Pull Up Field.

Pull Up Method.

Pull Up Constructor Body.

Push Down Method.

Push Down Field.

Extract Subclass.

Extract Superclass.

Extract Interface.

Collapse Hierarchy.

Form Template Method.

Replace Inheritance with Delegation.

Replace Delegation with Inheritance.



12. Big Refactorings.

Tease Apart Inheritance.

Convert Procedural Design to Objects.

Separate Domain from Presentation.

Extract Hierarchy.



13. Refactoring, Reuse, and Reality.

A Reality Check.

Why Are Developers Reluctant to Refactor Their Programs?

A Reality Check (Revisited).

Resources and References for Refactoring.

Implications Regarding Software Reuse and Technology Transfer.

A Final Note.

References.



14. Refactoring Tools.

Refactoring with a Tool.

Technical Criteria for a Refactoring Tool.

Practical Criteria for a Refactoring Tool.

Wrap Up.



15. Putting It All Together.


References.


List of Soundbites.


List of Refactorings.


Index. 0201485672T04062001


1 个顾客评论

5.0 颗星,最多 5 颗星

评论该商品

与其他买家分享您的想法

显示 1-1 条评论,共 1 条评论

2016年8月18日
版本: 精装已确认购买

此商品在美国亚马逊上最有用的商品评论

美国亚马逊: 4.4 颗星,最多 5 颗星 214 条评论
DaddyOfTwins
5.0 颗星,最多 5 颗星A 'Must read' for professional software develoers.
2017年10月5日 - 已在美国亚马逊上发表
版本: 精装已确认购买
7 个人发现此评论有用.
Javed Ali Khan
4.0 颗星,最多 5 颗星This awesome books deserves a better kindle version
2017年1月4日 - 已在美国亚马逊上发表
已确认购买
15 个人发现此评论有用.
alejandro claro
4.0 颗星,最多 5 颗星It feels a bit simple, but it is certainly a book that every software developer should be read
2013年12月12日 - 已在美国亚马逊上发表
版本: 精装已确认购买
9 个人发现此评论有用.
Steven
5.0 颗星,最多 5 颗星One of the few truly MUST HAVE books
2007年2月17日 - 已在美国亚马逊上发表
版本: 精装已确认购买
10 个人发现此评论有用.