Los Techies : Blogs about software and anything tech!

Refactoring Day 7 : Rename (method, class, parameter)


This refactoring I use most often and is one of the most useful refactoring. All too often we do not name methods/classes/parameters properly that leads to a misunderstanding as to what the method/class/parameter’s function is. When this occurs, assumptions are made and bugs are introduced to the system. As simple of a refactoring this seems, it is one of the most important to leverage.

   1: public class Person
   2: {
   3:     public string FN { get; set; }
   4:  
   5:     public decimal ClcHrlyPR()
   6:     {
   7:         // code to calculate hourly payrate
   8:         return 0m;
   9:     }
  10: }

As you can see here, we have a class/method/parameter that all have very non-descriptive, obscure names. They can be interpreted in a number of different ways. Applying this refactoring is as simple as renaming the items at hand to be more descriptive and convey what exactly they do. Simple enough.

   1: // Changed the class name to Employee
   2: public class Employee
   3: {
   4:     public string FirstName { get; set; }
   5:  
   6:     public decimal CalculateHourlyPay()
   7:     {
   8:         // code to calculate hourly payrate
   9:         return 0m;
  10:     }
  11: }

 

This refactoring was originally published by Martin Fowler and can be found here

This is part of the 31 Days of Refactoring series. For a full list of Refactorings please see the original introductory post.

Kick It on DotNetKicks.com
Posted Aug 07 2009, 08:38 AM by schambers

Comments

张荣华 wrote 31天重构指南之七:重命名
on 09-28-2009 1:58 AM

这是我使用最多并觉得最有作的重构。有时我们给方法、类或是参数命名时并不能做到见名知义,这样容易引起对代码的误解中,当这种情况发生时,我们可以利用重命名重构来消除这种误解。

31 Days of Refactoring « Vincent Leung's .NET Tech Clips wrote 31 Days of Refactoring « Vincent Leung's .NET Tech Clips
on 10-28-2009 9:28 AM

Pingback from  31 Days of Refactoring « Vincent Leung's .NET Tech Clips

PetterLiu wrote 31 Days of Refactoring
on 11-27-2009 4:01 AM

Refactoring Day 1 : Encapsulate Collection Refactoring Day 2 : Move Method Refactoring Day 3 : Pull ...

PetterLiu wrote 31 Days of Refactoring
on 11-27-2009 4:02 AM

Refactoring Day 1 : Encapsulate Collection Refactoring Day 2 : Move Method Refactoring Day 3 : Pull ...

Add a Comment

(required)  
(optional)
(required)  
Remember Me?

Enter the numbers above:
Copyright Los Techies 2008, 2009. All rights reserved.
Powered by Community Server (Commercial Edition), by Telligent Systems