设万维读者为首页 广告服务 技术服务 联系我们 关于万维
简体 繁体 手机版
分类广告
版主:红树林
万维读者网 > 五 味 斋 > 帖子
巨长的SQL -- i2佚事 (二)
送交者: FoneFtwo 2003年10月06日19:40:33 于 [五 味 斋] 发送悄悄话

初接触RCP时, 立刻发现它的复杂程度比我以前接触的任何Java软件都复杂. RCP是个多层的企业软件, 在UI上用JSP和Java Bean, 在web tier用的是一个商业用的servlet engine. 中间的application server完全是自己写的, 一点儿商业application server 都没用. 数据库用的是Oracle. 当时,RCP刚出来不久,很多方面都不完善.从软件到开发过程都是如此.我刚开始看RCP软件的source code时,经常感到非常吃惊 .Souce code经常会有非常基本的错误.其中的一个最基本的错误是我在建立开发环境时发现的.

我到i2后, 需要做的第一件事是建立起开发环境. 当时, 开发环境的软件和参数都需要自己逐个建立调节. 尽管也有指导建立开发环境的文件, 但文件的很多地方都已过时, 所以指导文件的很多地方都不准确. 指导文件只能起参考的作用. 建立起一个新的开发环境, 对当时在RCP已工作一年的开发人员来说都是个不容易的是, 更别提我这个新入门的人了.

RCP当时compile用的工具是Make, 因为RCP用的Java文件太多了. 当时市场上一般的开发工具比如JBuilder和Visual Cafe都不适用. 在所有的文件重新Compile一次的时间非常长. 所以采用了Make.

我当时对Make并不熟悉, 但又急于建立起开发环境, 就想用JBuilder来先compile所有的文件. 在compile的过程中,compile的速度非常慢,这就自不待言了.在修补compile过程中的各种错误时,我发现一个Java文件里的一句SQL出错了.我到出错的地方一看,发现一句巨长的SQL从左到右写在一行上.这让我感到又可气又可笑.没想到在专门作软件的公司看见这么不专业的程序.再仔细一看,发现这句SQL没有写完.这让我感到惊讶.我到ClearCase里一查,发现这句SQL是完整的.但JBuilder里的SQL明明是不完整的.在经过几个小时的研究之后,我发现当时的JBuilder允许的一行的最宽长度是1024bytes.如果一行语句超过这个长度,JBuilder自动把超过的部分砍掉.这句长SQL就是这样被JBuilder自动从中间截断了.RCP的人不用JBuilder来compile,所以这个错误一直没有被发现.

在改完这个语句后,我继续compile.但我发现在别的文件还存在着同样的问题.显然这种写法出自同一个人之手.我一气之下,不用JBuilder了,改用make来compile.两三天后,我终於建立好了开发环境.这让我的印度同事非常吃惊.他没想到我用这么断的时间就完成了这项工作.我后来发现有的人用一个星期,甚至一个月的时间才建立好开发环境.

0%(0)
0%(0)
标 题 (必选项):
内 容 (选填项):
实用资讯
回国机票$360起 | 商务舱省$200 | 全球最佳航空公司出炉:海航获五星
海外华人福利!在线看陈建斌《三叉戟》热血归回 豪情筑梦 高清免费看 无地区限制
一周点击热帖 更多>>
一周回复热帖