Presentation is loading. Please wait.

Presentation is loading. Please wait.

Refactoring By: Brian Smith. What is Refactoring? Definition: a change to the internal structure of software to make it easier to understand and cheaper.

Similar presentations


Presentation on theme: "Refactoring By: Brian Smith. What is Refactoring? Definition: a change to the internal structure of software to make it easier to understand and cheaper."— Presentation transcript:

1 Refactoring By: Brian Smith

2 What is Refactoring? Definition: a change to the internal structure of software to make it easier to understand and cheaper to modify without changing its observable behavior. Definition: a change to the internal structure of software to make it easier to understand and cheaper to modify without changing its observable behavior.

3 Origins Importance of Refactoring Importance of Refactoring Ward Cunningham and Kent Beck Ward Cunningham and Kent Beck C++ C++ Bill Opdyke Bill Opdyke The Refactoring Browser The Refactoring Browser John Brant and Don Roberts John Brant and Don Roberts

4 Why Refactor? Improves Design of Software Improves Design of Software Makes Software Easier to Understand Makes Software Easier to Understand Helps in Finding Bugs Helps in Finding Bugs Helps to Program Faster (in the long term) Helps to Program Faster (in the long term)

5 When to and not to Refactor To Refactor To Refactor Adding a New Function Adding a New Function Fixing a Bug Fixing a Bug While Doing a Code Review While Doing a Code Review Not to Refactor Not to Refactor Current Code = Worthless Current Code = Worthless Deadline Fast Approaching Deadline Fast Approaching

6 Programming for the “other guy” “Any fool can write code that a computer can understand. Good programmers write code that humans can understand.”

7 Works Cited Fowler, Martin. Refactoring: Improving the Design of Existing Code. Boston, MA: Addison-Wesley, 2000. Fowler, Martin. "Refactoring".


Download ppt "Refactoring By: Brian Smith. What is Refactoring? Definition: a change to the internal structure of software to make it easier to understand and cheaper."

Similar presentations


Ads by Google