这大概是处理一个方法在多处使用时最常见的重构。如果不加以注意的话,你会慢慢地养成重复的习惯。开发者常常由于懒惰或者在想要尽快生成尽可能多的代码时,向代码中添加很多重复的内容。我想也没必要过多解释了吧,直接看代码把。
public class MedicalRecord { public Date DateArchived;//getter setter public Boolean Archived;//getter setter public void ArchiveRecord() { Archived = true;DateArchived = new Date();} public void CloseRecord() { Archived = true;DateArchived = new Date();}}
我们用共享方法的方式来删除重复的代码。看!没有重复了吧?请务必在必要的时候执行这项重构。它能有效地减少bug,因为你不会将有bug的代码复制/粘贴到各个角落。
public class MedicalRecord { public Date DateArchived; public Boolean Archived; public void ArchiveRecord() { SwitchToArchived();} public void CloseRecord() { SwitchToArchived();} private void SwitchToArchived(){ Archived = true;DateArchived = new Date();}}
时间: 2024-11-03 21:32:47