重构第7天 重命名(Rename )

时间:2022-04-28 10:36:32

理解:重命名就是把一些函数、字段、类、参数的名称 重命名为易于理解,最好是和自身的意义相同的名称。这样更易于理解,也可以减少大量的注释,名字即含义。

详解

  这个重构方法是我经常也是最常用的一种。我们经常给函数、类、字段等命名为一些难以理解,没有实际意义的名称,这样过段时间或者别人看你写的代码的时候,就很难理解到底是干什么的,还要花一番功夫去追根溯源。

看看下面的代码:

 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     }

过段时间回头看看,假如不看类名,你能知道FN啥意思?ClcHrlyPR 函数到底是干啥的?一头雾水

再看看重构后的代码:

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

现在无论过多久或者任何一个程序员看了,都知道这个一个员工类,有一个属性是职员名称,有一个方法是用来计算时薪的。一目了然。其实这个工作我们最好在我们第一次写代码的时候就用起来反而更好。