malphi

          follow my heart

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            2 Posts :: 0 Stories :: 1 Comments :: 0 Trackbacks

          2005年12月7日 #

               很意外我選擇了一個自己還算比較感興趣的論文課題TDD(測試驅(qū)動開發(fā)),而導(dǎo)師讓我挑選的另外一個主題性能測試一不太感興趣,二大概想了想不同的軟件和硬件環(huán)境可以搭配出無限種的測試環(huán)境,這樣的試驗和研究實在是讓人頭疼,而且根據(jù)測不準原理,萬一答辯時老頭跟我較真說:我怎么保證我的測試用例是正確的?我只能回答不能保證;再問我既然測試用例都不正確由它測試出來的程序怎么能是正確的?那時候我只能無奈加無語了。
              所以選擇了TDD。經(jīng)過了一段時間才發(fā)現(xiàn),原來測試雖然復(fù)雜尚有可操作的余地,而這個掛著測試之名但不是測試的東西讓我思前想后沒有覓得門路。最開始看來TDD這個名詞的提出,以為內(nèi)容是驅(qū)動程序的測試呢,心想這種東西實在無聊,不知道也罷。看過之后才知,TDD正所謂掛羊頭賣狗肉者,重點不是測試而是開發(fā),其實是開發(fā)方法而非測試方法,這里驅(qū)動二字實為動詞而非名詞,意指:由測試驅(qū)動的、帶動的開發(fā)。不知當初誰人最先翻譯成此,實在誤人子弟。
              TDD是XP方法學(xué)中很重要的一部分,倡導(dǎo)測試先行,由測試驅(qū)動代碼開發(fā)。沒有代碼測試什么?最初我也是這樣理解。但實際上TDD是一個非常fantastic的東西,加上現(xiàn)在的編譯器十分智能,代碼自然而然運用而生。舉個簡單的例子:
              我就寫一個狗叫的程序,具體怎么寫先不管,先寫測試:
              Dog xiaobai = new Dog(); //創(chuàng)建一只小狗-小白
                  assertEquals("wangwang!",xiaobai.bark() ) //判斷小白的吠聲是不是汪汪
          好了,測試寫完,run一下,肯定是red bar,同時編譯器會告訴你,沒有發(fā)現(xiàn)Dog這個類,很簡單,創(chuàng)建一個,如果你的編譯器夠智能的話你都不用寫 class Dog這句話,點一下錯誤提示的解決方法就可以了。接著,還有錯誤,bay這個方法不存在,編譯器還會提示你:是否創(chuàng)建一個呢?OK,創(chuàng)建一個:public String bark(){ return "wangwang";} 再run一下,OK,測試通過,是green bar,好了,現(xiàn)在看看是不是想要的代碼都出來了?
             所以說TDD是個很妙的東西,amazing。然而我的大腦并不妙,還是找不到切入點,TDD這么大的樹林里我還都沒有發(fā)現(xiàn)自己要打的那只鳥,更別提逮到它了。總之埋頭苦干,繼續(xù)努力了。
          posted @ 2005-12-07 20:31 嗎啡 閱讀(294) | 評論 (1)編輯 收藏

              我是一個典型的Borland Nation,網(wǎng)名的由來也和Borland的主力開發(fā)工具有關(guān),一是非常喜歡Delphi這個工具,而是開始只會使用這個工具(有點汗顏)。由于D一慣的卓越品質(zhì),使其他IDE顯得一無是處,當時也沒有什么J和dot擾局,著實輝煌了一把。我從version 5開始用的,前一陣我還下了古董級的D1,10多年前的東西,居然支持C/S,實在是一個超時代的產(chǎn)品。讓我的Borland情結(jié)也一直延續(xù)至今。
              我用的時間最長的是D6,后面的version發(fā)布的太過倉促,有些是過渡產(chǎn)品,有些不完善,好不容易下決心改2005了又發(fā)現(xiàn)常常有crash的情況,只好作罷。對于1年1更新的舉動也表示理解,Development工具的市場硝煙彌漫,小小的Borland要想面對M、S、O之流的弱肉強食不得不加快自己奔跑的速度。
              然而新的IDE越來越龐大,越來越?jīng)]有個性和特色,Borland引以為傲的東西幾乎喪失殆盡。看看2006代號dexter的龐然大物,可以寫delphi,C++,C#,.Net 。。。唯一不能寫的語言就是java,免得強了自己jbuilder的市場。這樣的東西到底是否實用?有沒有想過如此開發(fā)環(huán)境需要怎樣的硬件才能run的順暢?IT界特別是軟件界一種以簡單為美,code越easy越好,為什么Borland要反其道行之?如果我只是一個win32開發(fā)者,只會delphi語言,那么其他的功能對我有什么用呢?看看現(xiàn)在大紅大紫的eclipse,環(huán)境單一,需要其他功能嗎?自己安裝插件,控制權(quán)在自己手中。我想Borland是不是該想一想發(fā)展的方向是否正確了,輝煌時期是靠前沿的技術(shù)靠特色成為一面旗幟,而現(xiàn)在,只能成為誰都不敢得罪的在J2EE/.Net兩座大山中間騎墻頭的小跟班。唉,成千上萬的Nations估計心涼的很。
              我一直以為,簡單才是美。
          posted @ 2005-12-07 15:04 嗎啡 閱讀(260) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 长泰县| 红桥区| 井冈山市| 徐水县| 潞西市| 藁城市| 屯留县| 诸城市| 田东县| 湖州市| 肥西县| 绍兴县| 页游| 和顺县| 西畴县| 深泽县| 泾阳县| 富裕县| 永年县| 磐石市| 金湖县| 昌乐县| 山西省| 尉犁县| 麟游县| 宽城| 山东| 赞皇县| 泰州市| 阳高县| 连江县| 齐河县| 若羌县| 望江县| 曲松县| 静海县| 疏附县| 都江堰市| 哈尔滨市| 五常市| 永宁县|