Morning@Weblog

7/30/2005

Bad Smell,温故而知新

Filed under: — site admin @ 8:10 pm

前些天借着给新员工内培的机会向同事们推荐了老马的《重构》,今天顺便又重温了一下“Bad Smell”那一章,感觉依然还是很有收获的。重构的时机来源于“见识广博者的直觉”,比如:一个类中有多少实例变量才算太多,一个函数有多少行代码才算太长,而这种直觉是锻炼和培养出来的。想来偶尔在看同事代码时不免皱眉也是蛮有道理的,习惯成自然,看到Bad Smell就算没有“标明”,心里也会觉得不畅,总忍不住要把它改掉。老马《重构》一书的一大特色在于其技法的名称基本都可以“望文生义”,因此即使没有看过每个技法的详细说明,也已经基本能够猜个八九分了。从侯sir网站当下来的中文电子版开放了前六章,封底内页有一张Bad Smell与相应重构技法的对应表,准备将它打印出来贴到我的办公桌旁,作为时时提醒之用:)

[Bad Smell]
- Duplicated Code
- Long Method
- Large Class
- Long Parameter List
- Divergent Change
- Shortgun Surgery
- Feature Envy
- Data Clumps
- Primitive Obsession
- Switch Statements
- Parallel Inheritance Hierarchies
- Lazy Class
- Speculative Generality
- Temporary Field
- Message Chain
- Middle Man
- Inappropriate Intimacy
- Alternative Classes with Different Interfaces
- Incomplete Library Class
- Data Class
- Refused Bequest
- Comments

Comments »

No comments yet.

RSS feed for comments on this post.

Leave a comment

Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

(required)

(required)


Powered by WordPress