遵循原则:
(1)函数最短原则(不多于30行)。
(2)变量单一职能原则(一个变量只允许一个职能)。
(3)函数单一职能原则(一个函数只做一件事情)。
(4)for循环单一职能原则(一个for循环只做一件事情,也许你会考虑效率问题,但不经过测试是没有发言权的)。
(5)三次原则(事不过三,三则重构)。
代码的坏味道:
1. 重复代码(Duplicated Code)
(1)同一个类的两个函数含有相同的表达式,采用Extract Method(提炼函数)方法提炼重复的代码。
(2)两个互为兄弟的子类内含有相同表达式,采用Extract Method提取函数,使用Pull UP Method 放到超类内。如果代码之间只是类似,并非完全相同,那就用Extract Method将相似部分和差异部分割开,构成独立的一个函数。可运用Form Template Method 获取一个模板模式。
(3)如果两个毫不相关的类出现重复代码,应考虑Extract Class 将重复代码提炼到一个独立类中。
2. 函数过长(Long Method)
常用方法:
1.提炼函数(Extract Method):将某段代码放进一个独立函数中,并让函数名称解释该函数的用途。