简单代码的重要顺序:
- 能通过所有测试
- 没有重复代码
- 体现系统中的全部设计理念
- 包括尽量少的实体,比如类、方法、函数等。
如果同一段代码反复出现,就表示某种想法未在代码中得到良好的体现,尽力找出到底那是什么,然后尽力更清晰地表达出来。
有意义的命名是体检表达力的一种方式,然而表达力还不只体现在命名上,还有检查对象或方法是否想做的事太多。如果功能太多,最后是切分为两个或多个对象。如果方法功能太多,使用抽取手段(ExtractMethod)重构之,从而得到一个较为清晰地说明自身功能的方法,以及另外数个说明如何实现这些功能的方法。
消除重复和提高表达力这两点对改进脏代码时非常有用。
命名规则
类名:
类名和对象名应该是名词或名词短语,如Customer、Account、AddressParser。避免使用Manager、Processor、Data或Info这样的类名,类名不应当是动词。
方法名:
方法名应当是动词或动词短语,如postPayment、deletePage或save。属性访问器、修改器和断言应该根据其值命名,并加上get、set或is前缀。
string name=employee.GetName();
customer.SetName("Mike");
函数的第一规则是短小,第二条规则是还要更短小!