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.