中程在线-重构-卓越程序员修炼之道(笔记3看烂代码直到想吐)
很多程序员为什么没有去重构呢?因为他们天天看到的都是烂代码(其实他们不知道那是烂代码),却认为那是没问题的代码。
所以,首先要做的就是看,再看,不断看,直到一看就有想吐的感觉。
否定功能完成就是code complete。
肯定代码易理解,可维护,才是code complete。
<敏捷设计原则-Robect C Martin>
第一职责:运行起来所完成的功能,这是模块存在的原因。
第二职责:要和阅读它的人进行沟通,对模块不熟悉的人员应该能够比较容易理解。
第三职责:它要应对变化,因为软件要变化,开发者保证应该尽可能的简单。
烂代码1
1 public class MedicalRecord
2 {
3 public DateTime DateArchived { get; private set; }
4 public bool Archived { get; private set; }
5
6 public void ArchiveRecord()
7 {
8 Archived = true;
9 DateArchived = DateTime.Now;
10 }
11
12 public void CloseRecord()
13 {
14 Archived = true;
15 DateArchived = DateTime.Now;
16 }
17 }
烂代码2
1 public class RemoteControl
2 {
3 public ArrayList Functions { get; set; }
4 public string Name { get; set; }
5 public int CreateYear { get; set; }
6
7 public string PerformCoolFunction()
8 {
9 if (Functions.Count > 1 && Name == "RCA" && CreateYear > DateTime.Now.Year - 2)
10 {
11 return "do something";
12 }
13 return "do nothing";
14 }
15 }
16
烂代码3
1 public void Create(string name, string id, int age, string address, string city)
2 {
3 //do something
4 }