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非自治事务代码中控制事务,例如:
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接