编程风格(二)

来源:互联网 发布:招聘流程优化方案 编辑:程序博客网 时间:2024/06/08 18:45

1、当类失去内聚性就拆分它。


系统

1、将构造与使用分开:

方法1:将全部构造构成搬迁到main或称之为main的模块中。

方法2:抽象工厂。

方法3:依赖注入。


问题

1、重复。重复的代码可能成为子程序或干脆是另一个类。将重复代码叠放进类似的抽象,增加设计语言的词汇量。

不同模块中不断重复出现、检测同一组条件的switch/case或if/else链,可以用多态来替代之。

采用类似算法但具体代码不同的模块,可以模板方法或策略模式修正。

2、基类依赖于派生类。

3、人为耦合。不互相依赖的东西不该耦合。普通的enum不应在特殊类中包括,在特殊类中声明一般目的的static函数也是如此。

4、特性依赖。类的方法只应对其所属类中的变量和函数感兴趣,不该垂青其它类中的变量和函数。

5、不恰当的静态方法。通常应该倾向于选用非静态方法,利用其多态行为。

6、不准确。某个查询第一次匹配不一定是唯一匹配,不用浮点数表示货币,不能由于不想做并发更新就避免使用锁和/或事物管理。

7、掩蔽时序耦合。

8、函数不止在一个抽象层级上。

9、在较低层级放置可配置数据。位于较高层级的配置性常量易于修改。

10、传递浏览。不让某个模块了解太多协作者信息,如不要写类似a.getB().getC().doSomething()的代码。


原创粉丝点击