當(dāng)確實(shí)要這樣做時(shí),為每個(gè)結(jié)果編寫、編譯并運(yùn)行新的單元測(cè)試就會(huì)很快變成一件繁重的事情。我發(fā)現(xiàn),當(dāng)不能預(yù)知給予特定輸入后程序?qū)⒈憩F(xiàn)出什么行為時(shí)(例如:在 AI 程序中可能就會(huì)出現(xiàn)這種情況),尤其如此。
探索新 API 使用 Java 語(yǔ)言編程最大的優(yōu)點(diǎn)之一是,有數(shù)量龐大的 API 可以使用,它們可以與一切事物 ? 從數(shù)據(jù)庫(kù)到 Web 服務(wù)到電視 ? 對(duì)接。不過(guò)需要花些時(shí)間學(xué)習(xí) API 的語(yǔ)義。
通常,Javadocs 不會(huì)對(duì) API 的行為的每個(gè)方面都作出明確說(shuō)明。對(duì)付這種窘境的辦法是直接測(cè)試 API,使用 repl 可以使測(cè)試快得多 ? 只要輸入一個(gè)方法調(diào)用看看其結(jié)果就行了!
一個(gè)額外的好處是,使用 repl 測(cè)試 API 還強(qiáng)化了大多數(shù)程序員的主要行為 ? 我們傾向于在實(shí)踐中取得最好的學(xué)習(xí)效果。
DrJava 項(xiàng)目是一個(gè)極端編程項(xiàng)目,目的是開(kāi)發(fā)供計(jì)算機(jī)科學(xué)低年級(jí)大學(xué)生教學(xué)之用的免費(fèi)的、輕量級(jí)的 Java IDE。盡管這個(gè) IDE 是為大學(xué)生設(shè)計(jì)的,但它的快速開(kāi)發(fā)功能對(duì)所有級(jí)別的開(kāi)發(fā)者都是有用的。DrJava 背后的理念是利用程序員的語(yǔ)言知識(shí)來(lái)提供強(qiáng)大的開(kāi)發(fā)工具,這與某些盡力把程序員和實(shí)際代碼隔離開(kāi)來(lái)的 IDE 不同。
這個(gè) IDE 的一些優(yōu)異特征包括對(duì)注釋和圓括號(hào)匹配的極其精確(比 Emacs 更精確)的突出顯示,以及可單擊的編譯器錯(cuò)誤的源代碼突出顯示。其界面包含幾個(gè)可單擊的選項(xiàng)卡:
我們對(duì)這個(gè) IDE 的經(jīng)驗(yàn)是,交互作用窗格答應(yīng)程序員輕易地執(zhí)行復(fù)雜的開(kāi)發(fā)和調(diào)試任務(wù)。跟在其它語(yǔ)言中所表明的一樣,源代碼編輯器和 repl 的結(jié)合構(gòu)成強(qiáng)大的工具。