WEB开发网
开发学院数据库MSSQL Server PL/SQL最差实践 阅读

PL/SQL最差实践

 2008-09-04 10:01:01 来源:WEB开发网   
核心提示: 解决之道: 将常量定义放入到公共的代码包中,供其他程序共享,PL/SQL最差实践(4),所有涉及到代码值的比较、引用等都必须使用常量名,而不能直接书写代码值,利用策略模式封装差异,对外提供统一的调用接口 将频繁使用的IF/ELSE代码重构为单独的过程或函数,对于一些复杂的代码值间的关系可以

解决之道:

将常量定义放入到公共的代码包中,供其他程序共享,所有涉及到代码值的比较、引用等都必须使用常量名,而不能直接书写代码值。对于一些复杂的代码值间的关系可以进一步封装,以函数的方式提供调用。

8. 不对PL/SQL对象进行配置管理

影响:可维护性

症状:PL/SQL对象(package、package body、trigger、procedure、type、type body、函数等)的代码没有使用配置管理工具进行维护和更新。

为什么是最差:

因为Oracle内部结构的差异,对象的管理具有一定的难度,尤其是在并行开发的情况下。

对象职责划分不清,造成多人同时修改一个对象,在编译时,如果后来者没有获取最新的代码,会造成前一个开发人员修改的代码被覆盖。

Oracle对象不能追溯既往,数据库中只能保存最新

解决之道:

规范开发过程,以配置管理工具上的PL/SQL代码为最新。

使用第三方插件减少同步工作量,如PL/SQL Developer下的VCS版本控制插件。

9. IF … ELSE …的坏味道

影响:可维护性

症状:大量使用IF … ELSE

为什么是最差:

大量存在IF/ELSE,造成代码逻辑混乱、不易修改。无论是PL/SQL还是其他编程语言,这种代码都已经飘着“bad smell”了。

解决之道:

使用Oracle数据库的继承特性,通过type实现对象的继承,利用策略模式封装差异,对外提供统一的调用接口

将频繁使用的IF/ELSE代码重构为单独的过程或函数,供其他代码复用

10. 在非自治事务中控制事务

影响:数据一致性

症状:

在PL/SQL非自治事务代码中控制事务,例如:

上一页  1 2 3 4 5  下一页

Tags:PL SQL 最差

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接