PLSQL代码的重构和单元测试

3 views
Skip to first unread message

Joseph Yao

unread,
Dec 31, 2013, 12:56:04 AM12/31/13
to agiles...@googlegroups.com, scrumga...@googlegroups.com
大家好,

我最近有个客户在开发中大量使用Oracle PLSQL来实现业务逻辑和数据访问。不知道大家在自己工作中是否也有这种情况呢?另外,大家对PLSQL的代码是如何进行重构和单元测试的呢?

欢迎大家的各类吐槽和抛砖。:)先祝大家新年快乐了。

谢谢,
Joseph

伍斌(Ben)

unread,
Dec 31, 2013, 1:59:06 AM12/31/13
to scrumga...@googlegroups.com, agiles...@googlegroups.com
Hi Joseph

关于SQL的重构和测试,不妨看看Max Guernsey III写的Test-Driven Database
Development一书,该书的中译本春节后也会上市。

Ben

-----邮件原件-----
发件人: scrumga...@googlegroups.com [mailto:scrumgathering@googlegroups.
com] 代表 Joseph Yao
发送时间: 2013年12月31日 13:56
收件人: agiles...@googlegroups.com; scrumga...@googlegroups.com
主题: PLSQL代码的重构和单元测试

大家好,

我最近有个客户在开发中大量使用Oracle PLSQL来实现业务逻辑和数据访问。不知道大
家在自己工作中是否也有这种情况呢?另外,大家对PLSQL的代码是如何进行重构和单
元测试的呢?

欢迎大家的各类吐槽和抛砖。:)先祝大家新年快乐了。

谢谢,
Joseph

--
--
您收到此信息是由于您订阅了 Google 论坛“Scrum Gathering”论坛。
要在此论坛发帖,请发电子邮件到 scrumga...@googlegroups.com
要退订此论坛,请发邮件至 scrumgatherin...@googlegroups.com
更多选项,请通过 http://groups.google.com/group/scrumgathering?hl=en 访
问该论坛
网站: http://scrumgathering.cn
微博: http://weibo.com/scrumgathering

---
You received this message because you are subscribed to the Google Groups
"Scrum Gathering" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to scrumgatherin...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Joseph Yao

unread,
Dec 31, 2013, 2:05:06 AM12/31/13
to scrumga...@googlegroups.com, agiles...@googlegroups.com
Hi Ben,

感谢推荐,这本书我之前了解过,晚点找个时间看一下吧。前段时间看了Refactoring Database这本书,内容有点过时了,收获不大。

谢谢,
Joseph

hippoom Chou

unread,
Dec 31, 2013, 2:09:15 AM12/31/13
to agiles...@googlegroups.com, scrumga...@googlegroups.com
自己所在的组织曾经大量使用Oracle存储过程。我们采用的方法是简单总结一下就是,选一小块功能,两个人一组(比较保险)直接把存储过程改成java,然后再重构Java代码。。。

另外祝大家新年快乐~




2013/12/31 Joseph Yao <joseph.ya...@gmail.com>
Joseph

--
您收到此邮件是因为您订阅了 Google 网上论坛的“agileshanghai”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到 agileshangha...@googlegroups.com
要查看更多选项,请访问 https://groups.google.com/groups/opt_out

侯伯薇

unread,
Dec 31, 2013, 2:20:39 AM12/31/13
to scrumga...@googlegroups.com, agiles...@googlegroups.com
Joseph说的那种开发方式,我之前做过,现在也经常会采用,编写起来很方便,存取数据效率也很高,特别是在应用服务器和数据库服务器并不在一台计算机上的时候,:)

refactoring Database那本书好像讲的是对数据库的重构,而不是对PL/SQL程序的重构吧,两个方向,:)

开发PL/SQL程序,必定要使用的工具就是PL/SQL developer,其中集成了一些重构的方法,不过根据我所使用的经验,并不是太好用。(我现在使用的是8.0版本,不知道有没有更新的版本,对重构做出了改进)所以,大多数情况,重构都是手动进行的。

对于做单元测试,有xUnit的工具可以使用,不过同样不是太好用,:(

所以我觉得,在PL/SQL里面做重构和单元测试,基本上都需要手动进行。似乎这样会很麻烦,但同样会对代码的结构提出比较高的要求。只要其中的函数足够简单——单一职责原则,那么重构和单元测试都不会太复杂。

---------------
侯伯薇 @ 大连 
---------------
Mobile:18642628512
微信:jackhoubowei
微信公众账号:快乐的程序员(happyprogrammer)
---------------
 CSDN Blog / InfoQ中文站 / 新浪博客 / 新浪微博
---------------
记住该记住的,
忘记该忘记的,
改变能改变的,
接受不能改变的。
---------------

侯伯薇

unread,
Dec 31, 2013, 2:23:24 AM12/31/13
to scrumga...@googlegroups.com, agiles...@googlegroups.com
不知道这是在什么情况下做出这样的选择。

在我感觉,PL/SQL在做数据库处理方面,要比Java强大得多,而且程序的效率要高很多,用Java来替代PL/SQL程序,只是为了能够重构,个人感觉有些舍本求末了~~

---------------
侯伯薇 @ 大连 
---------------
Mobile:18642628512
微信:jackhoubowei
微信公众账号:快乐的程序员(happyprogrammer)
---------------
 CSDN Blog / InfoQ中文站 / 新浪博客 / 新浪微博
---------------
记住该记住的,
忘记该忘记的,
改变能改变的,
接受不能改变的。
---------------


Wang Yu

unread,
Dec 31, 2013, 8:10:31 AM12/31/13
to scrumga...@googlegroups.com, agiles...@googlegroups.com
测试,关键是要把粒度弄小,依赖弄轻。PL SQL的问题在于一大坨,慢慢来都能搞


2013/12/31 侯伯薇 <houb...@gmail.com>



--
王宇(WangYu)
gtalk: niu...@gmail.com
skype: wang.yu.99
Reply all
Reply to author
Forward
0 new messages