程序員必備Java API
根據(jù)國外媒體報(bào)道,卡耐基梅隆大學(xué)計(jì)算機(jī)系的研究人員日前開發(fā)了兩款工具用于幫助程序員從成千上萬的Java API中選擇合適的API。
這兩款工具的名字分別是Jadeite和Apatite。它們利用了以人為中心的設(shè)計(jì)技術(shù),從而大大縮短了搜尋合適的類與API的時(shí)間。為一個(gè)程序選擇合適的API并不那么直觀,人機(jī)交互學(xué)教授Brad A. Myers說道。目前Javadoc庫中有35000個(gè)方法包含在4100個(gè)類中,而且這些數(shù)字還在不斷擴(kuò)大,因?yàn)槊堪l(fā)布新版本的Java,就會(huì)有一批新的Java API被添加進(jìn)去。就連***的開發(fā)人員也無法完全熟悉這些Java API。
這是所有程序員所面臨的基本問題,不管他們是菜鳥還是專家,Myers說道,雖然可以讓API設(shè)計(jì)的更加簡(jiǎn)單易用,但現(xiàn)有的Java 編程中所用到的大量重要的Java API使用起來仍然很困難。Jadeite和Apatite可以幫助程序員們從現(xiàn)有的API中選擇自己所需要的。
Jadeite是Java Documentation with Extra Information Tacked-on for Emphasis的縮寫。它可以根據(jù)Google搜索提供的API使用頻度來通過不同的字體大小來顯示API的名稱。比如頻繁使用的 PrintWriter就會(huì)用大號(hào)字母來顯示,而不經(jīng)常使用的PrintEvent則用小號(hào)字來顯示。
Jadeite還使用了眾包(Crowd-sourcing)技術(shù)來解決有的API并不是顧名思義的包含程序員所希望使用的方法的問題。例如 Message和MimeMessage類并不包含發(fā)送email的方法。因此Jadeite可以讓不同的用戶為需要使用的類和方法添加一個(gè)叫做 placeholder的東西,用戶可以編輯placeholder從而來給程序員提供指導(dǎo)。在placeholder中可以告訴程序員他們所需要的方法的確切位置。
另外,有的對(duì)象的創(chuàng)建對(duì)于程序員來說并不是特別熟悉,比如SSL sockets。在這種情況下,Jadeite包含了程序員創(chuàng)建這些對(duì)象的最常用代碼,用戶可以從這些代碼范例中得到啟發(fā)。
通過對(duì)用戶試用的研究顯示使用Jadeite可以比使用標(biāo)準(zhǔn)的Javadoc提高三倍的效率。
Apatite是Associative Perusal of APIs That Identifies Targets Easily的縮寫,其實(shí)現(xiàn)方法與Jadeite不同,它可以讓程序員瀏覽API之間的關(guān)系,可以查看不同的包、類和方法之間的彼此聯(lián)系。
Jadeite和Apatite目前均處于實(shí)驗(yàn)研究階段,但已經(jīng)可以讓公眾使用。將這兩個(gè)工具推廣后會(huì)增強(qiáng)它們?cè)诒姲矫娴墓δ堋M瑫r(shí)還能給研究人員重要的反饋信息,從而繼續(xù)對(duì)它們進(jìn)行改進(jìn)。
小資料:眾包技術(shù),原指在產(chǎn)品和服務(wù)項(xiàng)目等開發(fā)中,以低工資或無償?shù)卣心荚敢鈪⒓拥牟惶囟〝?shù)目的人員來進(jìn)行開發(fā)工作的開發(fā)形態(tài)。在軟件開發(fā)領(lǐng)域中,以開放源代碼的形式向互聯(lián)網(wǎng)等公開源代碼,全世界的人通過互聯(lián)網(wǎng)廣泛聚集,利用業(yè)余時(shí)間進(jìn)行工作,從而使軟件更加完善。在這里眾包是指使用者可以為API添加說明,這些說明可以通過互聯(lián)網(wǎng)被其他使用者共享。
【編輯推薦】