zoukankan      html  css  js  c++  java
  • 重构第15天 移除重复的代码(Remove Duplication)

    理解:移除重复的代码,顾名思义就是把多处重复的代码搬移到一个公共的地方,来减少代码量,提高代码可维护性。

    详解:看下面的例子就很容易理解

    重构前code

     1 using System;
     2 using System.Collections;
     3 using System.Collections.Generic;
     4 using System.Linq;
     5 using System.Text;
     6 
     7 namespace ReflectorDemo
     8 {
     9     public class MedicalRecord
    10     {
    11         public DateTime DateArchived { get; private set; }
    12         public bool Archived { get; private set; }
    13 
    14         public void ArchiveRecord()
    15         {
    16             Archived = true;
    17             DateArchived = DateTime.Now;
    18         }
    19 
    20         public void CloseRecord()
    21         {
    22             Archived = true;
    23             DateArchived = DateTime.Now;
    24         }
    25     }
    26 }

    可以看到 Actived=true,DateArchived=DateTime.Now 在两个方法中都要用到,我们就可以把这连个字段提取出来,放到一个新方法中。

    重构后code

     1 using System;
     2 using System.Collections;
     3 using System.Collections.Generic;
     4 using System.Linq;
     5 using System.Text;
     6 
     7 namespace ReflectorDemo
     8 {
     9     public class MedicalRecord
    10     {
    11         public DateTime DateArchived { get; private set; }
    12         public bool Archived { get; private set; }
    13 
    14         public void ArchiveRecord()
    15         {
    16             SwitchToArchived();
    17         }
    18 
    19         public void CloseRecord()
    20         {
    21             SwitchToArchived();
    22         }
    23 
    24         private void SwitchToArchived()
    25         {
    26             Archived = true;
    27             DateArchived = DateTime.Now;
    28         }
    29     }
    30 }

    这个重构很简单,绝大多数程序员都会使用这种重构方法。

  • 相关阅读:
    [HDU]1086You can Solve a Geometry Problem too
    [HDU]2161Primes
    [HDU]2098分拆素数和
    [HDU]1431素数回文
    [HDU]1527取石子游戏
    [HDU]2092整数解
    [HDU]1405The Last Practice
    [HDU]2565放大的X
    [HDU]1723Distribute Message
    [HDU]1208Pascal's Travels
  • 原文地址:https://www.cnblogs.com/yplong/p/5362603.html
Copyright © 2011-2022 走看看