malphi

follow my heart

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  2 Posts :: 0 Stories :: 1 Comments :: 0 Trackbacks

2005年12月7日 #

     很意外我选择了一个自己还算比较感兴趣的论文课题TDD(测试驱动开发),而导师让我挑选的另外一个主题性能测试一不太感兴趣,二大概想了想不同的软件和硬件环境可以搭配出无限种的测试环境,这样的试验和研究实在是让人头疼,而且根据测不准原理,万一答辩时老头跟我较真说:我怎么保证我的测试用例是正确的?我只能回答不能保证;再问我既然测试用例都不正确由它测试出来的程序怎么能是正确的?那时候我只能无奈加无语了。
    所以选择了TDD。经过了一段时间才发现,原来测试虽然复杂尚有可操作的余地,而这个挂着测试之名但不是测试的东西让我思前想后没有觅得门路。最开始看来TDD这个名词的提出,以为内容是驱动程序的测试呢,心想这种东西实在无聊,不知道也罢。看过之后才知,TDD正所谓挂羊头卖狗肉者,重点不是测试而是开发,其实是开发方法而非测试方法,这里驱动二字实为动词而非名词,意指:由测试驱动的、带动的开发。不知当初谁人最先翻译成此,实在误人子弟。
    TDD是XP方法学中很重要的一部分,倡导测试先行,由测试驱动代码开发。没有代码测试什么?最初我也是这样理解。但实际上TDD是一个非常fantastic的东西,加上现在的编译器十分智能,代码自然而然运用而生。举个简单的例子:
    我就写一个狗叫的程序,具体怎么写先不管,先写测试:
    Dog xiaobai = new Dog(); //创建一只小狗-小白
        assertEquals("wangwang!",xiaobai.bark() ) //判断小白的吠声是不是汪汪
好了,测试写完,run一下,肯定是red bar,同时编译器会告诉你,没有发现Dog这个类,很简单,创建一个,如果你的编译器够智能的话你都不用写 class Dog这句话,点一下错误提示的解决方法就可以了。接着,还有错误,bay这个方法不存在,编译器还会提示你:是否创建一个呢?OK,创建一个:public String bark(){ return "wangwang";} 再run一下,OK,测试通过,是green bar,好了,现在看看是不是想要的代码都出来了?
   所以说TDD是个很妙的东西,amazing。然而我的大脑并不妙,还是找不到切入点,TDD这么大的树林里我还都没有发现自己要打的那只鸟,更别提逮到它了。总之埋头苦干,继续努力了。
posted @ 2005-12-07 20:31 吗啡 阅读(280) | 评论 (1)编辑 收藏

    我是一个典型的Borland Nation,网名的由来也和Borland的主力开发工具有关,一是非常喜欢Delphi这个工具,而是开始只会使用这个工具(有点汗颜)。由于D一惯的卓越品质,使其他IDE显得一无是处,当时也没有什么J和dot扰局,着实辉煌了一把。我从version 5开始用的,前一阵我还下了古董级的D1,10多年前的东西,居然支持C/S,实在是一个超时代的产品。让我的Borland情结也一直延续至今。
    我用的时间最长的是D6,后面的version发布的太过仓促,有些是过渡产品,有些不完善,好不容易下决心改2005了又发现常常有crash的情况,只好作罢。对于1年1更新的举动也表示理解,Development工具的市场硝烟弥漫,小小的Borland要想面对M、S、O之流的弱肉强食不得不加快自己奔跑的速度。
    然而新的IDE越来越庞大,越来越没有个性和特色,Borland引以为傲的东西几乎丧失殆尽。看看2006代号dexter的庞然大物,可以写delphi,C++,C#,.Net 。。。唯一不能写的语言就是java,免得强了自己jbuilder的市场。这样的东西到底是否实用?有没有想过如此开发环境需要怎样的硬件才能run的顺畅?IT界特别是软件界一种以简单为美,code越easy越好,为什么Borland要反其道行之?如果我只是一个win32开发者,只会delphi语言,那么其他的功能对我有什么用呢?看看现在大红大紫的eclipse,环境单一,需要其他功能吗?自己安装插件,控制权在自己手中。我想Borland是不是该想一想发展的方向是否正确了,辉煌时期是靠前沿的技术靠特色成为一面旗帜,而现在,只能成为谁都不敢得罪的在J2EE/.Net两座大山中间骑墙头的小跟班。唉,成千上万的Nations估计心凉的很。
    我一直以为,简单才是美。
posted @ 2005-12-07 15:04 吗啡 阅读(244) | 评论 (0)编辑 收藏