今天开发了五个检测器,用于检测代码中的sql ,判断是否存在优化的可能,
是否违反了相应的优化规则。
规则如下:
1 、 PERFORMANCE _DB_SQL_NULL
sql 语句使用了 is null 、 is not null
2 、 PERFORMANCE _DB_SQL_NOTQEUAL
sql 语句使用了不等号
3 、 PERFORMANCE _DB_SQL_CANCAT_FIELD
sql 语句使用了字段连接号
4 、 PERFORMANCE _DB_SQL_NOTIN
sql 语句使用了 not in
5 、 PERFORMANCE _DB_SQL_LIKE
sql 语句使用了 like
其实每个检测器的算法都是非常相似。非常适合使用策略模式、观察者模式
进行设计。经过精心设计后,发现每开发一种新的规则,代码重用度非常
高,代码量也非常少。可读性非常高。
UML图如下: