-
Recent Posts
Recent Comments
- fdaf on SVN — import
- 千寻 on 常用的正则表达式及符号诠释
- 55659 on 常用的正则表达式及符号诠释
- 55659 on 常用的正则表达式及符号诠释
- vincent on Python的调试
Archives
Categories
Meta
Monthly Archives: July 2004
项目管理软件
这几天一直在写IIN开发的助手程序,目前已经写了差不多10个模块了,包含了日志分析,单元测试覆盖分析,存储过程,语音文件,XML文件的存取,业务文件的分析等。目前正在做模块之间的整合工作,现在正在处理的模块是存储过程模块。 由于这些模块都是使用python写的,在使用CB的界面进行调用的时候,总是调用不成功,后来改用wxPython的GUI编写界面,脚本调用正常,而且现在对wxPython用的还比较熟悉了,所以界面全部换成非unicode版本的wxPython,一是方便脚本调用,二是方便跨平台,毕竟我们还是使用unix的机会多一些。 不过在开发这个程序的时候,发现了一个问题,就是我们现在的软件项目管理还不规范。虽然我们现在使用的是IBM的软件开发规范,但是我感觉很多地方可以完善的,不过由于平台是lotus的,在很多功能上被限制了,如果使用纯WEB页面,功能可以做的更加强大,主要体现在: 1,软件模块之间的关联度不够。模块分开开发,是为了便于人员的协调和以后的维护。但是现在遇到的问题就是,模块的关联性太强了,容易造成其中一个模块更改之后,相关人员没有及时通知其它调用模块的话,就会造成调用失败。我们现在遇到的就是业务键更改了,但是调用的模块业务键没有变更,导致升级失败。2,文档术语解释查找缓慢。我们的文档中涉及了很多的术语,很多时候,特别是做新项目的时候,我们经常来回翻看文档查术语,加上Word XP的稳定性很差,一天不知道要死机N次,翻看术语浪费了不少的时间,如果使用的是超连接,而且是自动加注的,这样可以减少很多工作量。3,管理软件跟不上。尽管我们使用了很多的软件来协助开发,不过基本上还是没有质变的,还处于作坊开发阶段。 感觉项目中很多问题还是可以使用专门的软件来管理的,不单是软件开发,别的项目也是可以应用的,暂且叫做项目管理软件(PMS)吧。我认为,这个东西有点类似于MIS系统,还是有点做头的,不过怎么做就是各自说了算的。
unicode编码
今天在使用python写脚本,遇到一个小问题,是关于字符集编码的。以前写的是将配置保存到XML文件中,今天是将以前保存在XML文件中的信息读取到界面上,由于考虑到win98用户,所以我安装的wxPython不是支持unicode的,是使用的本地字符集的。由于wxPython不支持unicode,因此从xml文件中读入的配置信息需要进行转换(xml是以UTF8编码存的)。开始的时候以为是很容易的事情(主要是受BCB影响太深了,unicode->ansi就是WideString->AnsiString即可),结果我在使用的时候,试了两种方法都不行。一种是str()函数,告诉我decode error;另外一种是unicode(),告诉我out of range(0-127)。由于今天的时间不多,我没有仔细去查资料,暂时还没有找到解决问题的方法。
看来得运动运动了
昨天爬山,爬下来之后感觉很累,但是今天手脚都疼啊,看来真的是运动太少了,以后得多锻炼锻炼,毕竟身体是自己的。 下载完mandrake的linux了,刻了盘,不过安装不成功,估计是我的那块老硬盘不行了,先在虚拟机里面试装一下,如果是硬盘的,估计还得去买块硬盘。
DNS问题
今天去爬南山,回来很累了,好不容易坐下来,写了一点东西,结果发现,提交不成功,原来是DNS解析问题,郁闷啊,好多字白打了。断了之后,经常出现时断时续的问题,电信啊,技术能不能过关一点啊:( 好累,休息去了!
小工具的开发
在我们平常的开发过程中,经常会遇到一些需要自己开发一个小工具的情况。这种情况下,我们一般都会挑自己最熟悉的语言来编写这个小工具。不过由于我们是在微软的环境下长大的,对于脚本语言不熟悉,所以编写小工具一般会使用C++,delphi,VB等大型工具,工具是写出来,也用上了,但是所花费的时间实在是不应该的,因为这些工具大部分时候是只用很少的次数。 这里,我对编写这种小工具提几点建议:1,尽量使用脚本语言进行撰写。因为脚本语言,一条语句可以抵得上别的语言的十几条甚至是上百条语句了,很多时候,一个简单的工具,用脚本语言只需要短短几行即可实现。同时,脚本语言基本不需要编译,能够节省很多的时间,也不用考虑界面的设计。2,功能要尽可能的简单。因为这种工具一般使用的次数有限,很少能够在别的项目中运用,所以只要完成当前需要的功能即可,不要做无谓的扩展。3,定期整理以前编写的工具。如果发现用处比较大,注意将其合并为一个或几个功能集中一点的工具,然后作个简单的说明,以便以后能快速上手,或者让别人容易使用。4,以后想到再说。 最后,推荐一个开发小工具最好的语言:Python,容易上手,但是功能又特别强大。
写UT case是很重要的
今天我在修改前几天的想法,总感觉应该可行的。不过怎么试,如果GUI是用BCB写的,调用总是有问题,不过使用wxPython写的GUI就没有问题,调用的字符串打印结果是一样的,不知道里面的玄机。不过今天改代码,发现一个问题,就是UT的测例,因为有些代码我写了UT case,有些没有写。 改完代码之后,有测例的我就运行了一下测例,发现1个小问题,马上修正。没有测例的就没有进行测试,自己认为是对的,没有改错。后来,我在调试GUI的时候,发现调用没有测试的代码的地方老是有问题,说类没有对应的attribute。通过定位,发现是修改代码的时候,不小心删除了一个self,导致那个类调用了没有self的一个属性,而这个属性是没有定义的,就出现了上述的错误。然后停下来,修正问题,才能继续调试GUI程序。由于这个问题小,很容易定位,所以影响并不大,不过如果遇到不容易定位的,或者把类库开发了之后交给别人使用的,自己没有运行测例,这个是比较麻烦的。而且有测例的话,每次修改都可以运行一遍测例,保证每次修改的正确性,这样对以后好处是很大的。 从现在开始,应该养成写测例的习惯,每次修改代码,定稿之后就要运行测试,保证所有的测例可以通过!!!
何时能再桌面应用linux
参考文章:http://www.itpub.net/242232.html linux一直是很多人讨论的话题,从我毕业开始,一直轰轰烈烈的讨论到了现在。不过讨论归讨论,linux的应用却么有和讨论这么红火,桌面应用就更加不用说了,基本还是属于冰山一角的。不过说linux没有发展也是谎言,至少从微软的针对linux的攻击,高层的异常变卖股票可以看出,微软对linux还是很怕的。我一直想使用linux,不过一直没有机会,在公司使用的unix,图形环境是motif,因为使用的工作站限制必须只能使用这个东东。在家的话,基本是windows的天下了,游戏,上网,看资料,虽然都可以在linux下面完成,但是一直受微软的“教导”,还是习惯于在windows平台上进行。不过最近因为和工作的关系,渐渐的对linux有好感了,主要是上班用的unix比较多,unix上面的很多功能在windows平台上使用起来不是很方便。而且我一直主张软件开发跨平台,如果就熟悉一个windows,怎么叫跨平台呢。呵呵! 这几天一直在下载mandrake的linux,总共4张盘,据说是linux桌面做的最好的一套。目前正在下载,不知道到时候使用起来怎么样,但愿不要让我失望就行。
昨天的想法失败
今天试验了一下昨天的想法,最后还是存在一些问题,主要是GUI界面调用控制台程序,里面的一些机制不是很熟悉。明明我在控制台可以执行成功的,而且也不往控制台写任何内容,但是不管使用createprocess还是使用winexec都执行不成功。记得以前一本上写过类似的资料,先翻翻书看看。 如果界面部分处理不好,那么工具只有我自己用了,别人估计懒得学,也懒的用。
新主意
前段时间一直在使用Python脚本开发IIN用的小工具,写了几个之后,发觉我们这般使用windows习惯的人对命令行还真的不是很熟悉了,特别是我写的程序,都要传进去一长串的命令行参数。所以今天乘着一点时间,计划了一下怎么样让用户使用起来简单一点。最后决定使用脚本+GUI界面的方式来操作,通过界面直接调用脚本进行,这样就可以避免复杂的操作,而且对开发工具用脚本方便很多。 今天做了一个大致的界面,自己认为还算可以,不过对付一下内部使用的工具,功能做到了就行了,不要太计较界面,浪费时间:)
界面编辑器
GUI程序开发,用的最多的就是BCB了,一直被他的强大的界面设计能力所佩服。不过后来逐渐了解了一些XUL之类的界面设计语言,发现BCB现在的设计模式已经落后于开源社区了,不过BCB的很多界面设计思想被继承了下来,也可以说是界面设计的鼻祖吧,只是他不思进取,被后来者逐步跟上。不过比较幸运的是BCB现在出的X版本,由于使用的是跨平台设计,GUI部分使用的是wxWindow,因此wxWindow的好处被BCB利用了起来。 今天看到wxPython的demo,发现一个以前没有发现的东西:xrced。这个程序一直没有注意,今天是点击错误才发现的,真是歪打正着。开始以为是一个资源编辑器,类似于BCB中的RES编辑器。不过看到工具栏有很多的稀奇的图标,才去研究它。原来是一个界面编辑器,把界面作为一种资源保存在XML文件中,有点和BCB的DFM文件类似,只不过这个是XML文件格式,而那个是文本格式。还有一点,就是它虽然支持UTF-8编码,但是对中文却不支持,里面含有中文的话,无法预览,无法保存。还有,我找了找这种资源文件的载入程序,发现没有,可能是这个程序是刚开始开发的缘故(才0.1.1版本),不过它的设计方式比BOA的明显先进了很多,值得表扬。 这段时间,看了很多的资料,发现自己对计算机软件方面了解的实在是太少了,看看开源社区里面,很多东西做的很漂亮,自己却不懂得如何利用,还在原始得一行一行得K代码。套用网游的一句话:级别太低,慢慢练级吧!!!