其他语言

本类阅读TOP10

·基于Solaris 开发环境的整体构思
·使用AutoMake轻松生成Makefile
·BCB数据库图像保存技术
·GNU中的Makefile
·射频芯片nRF401天线设计的分析
·iframe 的自适应高度
·BCB之Socket通信
·软件企业如何实施CMM
·入门系列--OpenGL最简单的入门
·WIN95中日志钩子(JournalRecord Hook)的使用

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
smelles and refactoring

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

整理了一下,有助于对代码进行refatoring。 

 
Smells Within Classes

 

smells

refactoring

 

Comments

 

 

Long Method

Extract Method.

 

 

Large Class

Extract Class

Extract Subclass

 

 

Long Parameter List

Replace Parameter with Method

Preserve Whole Object

Introduce Parameter Object.

 

 

 

 

 

 

Smells Between Classes

 

Smells category

smells

refactoring

Data

 

 

 

Primitive Obsession

Replace Data Value with Object

Replace Type Code with Class

Replace Type Code with Subclasses

 Replace Type Code with State/Strategy.

 

 

Data Class

 

 

Data Clump

Extract Class

Introduce Parameter Object

Preserve Whole Object

 

 

Temporary Field

Extract Class

Introduce Null Object

 

Inheritance

 

 

 

Refused Bequest

Push Down Method

Push Down Field

Replace Inheritance with Delegation

 

Inappropriate Intimacy (Subclass Form)

Self Encapsulate Field

Form Template Method

Replace Inheritance with Delegation

 

Lazy Class

Collapse Hierarchy

Inline Class

Responsibility

 

 

 

Feature Envy

Move Method

 

Inappropriate Intimacy (General Form)

Move Method and Move Field

Extract Class and Hide Delegate

Change Bidirectional Association to Unidirectional

 

 

Message Chains

Extract Method

Move Method

Hide Delegate

 

Middle Man

Remove Middle Man

Replace Delegation with Inheritance

Accommodating Change

 

 

 

Divergent Change

 

 

Shotgun Surgery

 

 

Parallel Inheritance Hierarchies

 

 

Combinatorial Explosion

 

Library Classes

 

 

 

Incomplete Library Class

 

 

 

 

 




相关文章

相关软件