我们的程序应该具有可复用性,可扩展性,健壮性,如下
可复用性
方法单一职责
如果一个方法承担了多个职责,那么应该拆分为多个方法
方法要小
一个方法应该控制在30行代码内,多了应该考虑拆分
方法以一致性
相似的方法应具有相同的名称,参数顺序等
策略和实现分离
策略方法执行决策,整理参数,收集全局信息,检查状态和错误等
实现方法就是我们的领域逻辑的实现
规避全局信息
我们的实现方法不应该直接访问全局信息,应该由策略方法外部传入
避免实现带有标志的方法
例如方法A通过参数p1的值执行不同的操作,这时我们应该将方法A拆分成多个操作
提取基类
对于由相似性的类,我们可以将共性提取到基类中,将差异性放到子类中
使用组合而不是继承
如果类A只是想使用类B的某些功能,则使用组合而不是继承
可扩展性
封装类
对于不必要暴露的方法或属性,我们应该将其设为“私有”或“保护”
避免遍历多项链接
如 A——B——C,A不应该通过B的链接去访问C,而应该委托B去访问C
避免使用Switch
Switch可以应用在工厂里生成不同类,但Switch不应该用在方法中用来执行不同的操作
健壮性
错误处理
用户输入错误等进行处理
检查参数
在执行方法前,需要检查参数是否符合
大规模程序设计
不要过早编码
在编码前应该思考其运行过程
有意义的方法名