漂在爪洼島上

          Java is my life,but not all!
          posts - 3, comments - 6, trackbacks - 0, articles - 9
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          【CSDN6月23日消息】根據(jù)國(guó)外媒體報(bào)道,卡耐基梅隆大學(xué)計(jì)算機(jī)系的研究人員日前開(kāi)發(fā)了兩款工具用于幫助程序員從成千上萬(wàn)的Java API中選擇合適的API。

          這兩款工具的名字分別是Jadeite和Apatite。它們利用了以人為中心的設(shè)計(jì)技術(shù),從而大大縮短了搜尋合適的類與API的時(shí)間。為一個(gè)程序選擇合適的API并不那么直觀,人機(jī)交互學(xué)教授Brad A. Myers說(shuō)道。目前Javadoc庫(kù)中有35000個(gè)方法包含在4100個(gè)類中,而且這些數(shù)字還在不斷擴(kuò)大,因?yàn)槊堪l(fā)布新版本的Java,就會(huì)有一批新的API被添加進(jìn)去。就連最好的開(kāi)發(fā)人員也無(wú)法完全熟悉這些API。

          這是所有程序員所面臨的基本問(wèn)題,不管他們是菜鳥(niǎo)還是專家,Myers說(shuō)道,雖然可以讓API設(shè)計(jì)的更加簡(jiǎn)單易用,但現(xiàn)有的Java 編程中所用到的大量重要的API使用起來(lái)仍然很困難。Jadeite和Apatite可以幫助程序員們從現(xiàn)有的API中選擇自己所需要的。

          Jadeite(http://www.cs.cmu.edu/~jadeite)是Java Documentation with Extra Information Tacked-on for Emphasis的縮寫(xiě)。它可以根據(jù)Google搜索提供的API使用頻度來(lái)通過(guò)不同的字體大小來(lái)顯示API的名稱。比如頻繁使用的PrintWriter就會(huì)用大號(hào)字母來(lái)顯示,而不經(jīng)常使用的PrintEvent則用小號(hào)字來(lái)顯示。

          Jadeite還使用了眾包(Crowd-sourcing)技術(shù)來(lái)解決有的API并不是顧名思義的包含程序員所希望使用的方法的問(wèn)題。例如Message和MimeMessage類并不包含發(fā)送email的方法。因此Jadeite可以讓不同的用戶為需要使用的類和方法添加一個(gè)叫做placeholder的東西,用戶可以編輯placeholder從而來(lái)給程序員提供指導(dǎo)。在placeholder中可以告訴程序員他們所需要的方法的確切位置。

          另外,有的對(duì)象的創(chuàng)建對(duì)于程序員來(lái)說(shuō)并不是特別熟悉,比如SSL sockets。在這種情況下,Jadeite包含了程序員創(chuàng)建這些對(duì)象的最常用代碼,用戶可以從這些代碼范例中得到啟發(fā)。

          通過(guò)對(duì)用戶試用的研究顯示使用Jadeite可以比使用標(biāo)準(zhǔn)的Javadoc提高三倍的效率。

          Apatite(http://www.cs.cmu.edu/~apatite)是Associative Perusal of APIs That Identifies Targets Easily的縮寫(xiě),其實(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)目等開(kāi)發(fā)中,以低工資或無(wú)償?shù)卣心荚敢鈪⒓拥牟惶囟〝?shù)目的人員來(lái)進(jìn)行開(kāi)發(fā)工作的開(kāi)發(fā)形態(tài)。在軟件開(kāi)發(fā)領(lǐng)域中,以開(kāi)放源代碼的形式向互聯(lián)網(wǎng)等公開(kāi)源代碼,全世界的人通過(guò)互聯(lián)網(wǎng)廣泛聚集,利用業(yè)余時(shí)間進(jìn)行工作,從而使軟件更加完善。
          在這里眾包是指使用者可以為API添加說(shuō)明,這些說(shuō)明可以通過(guò)互聯(lián)網(wǎng)被其他使用者共享。


          來(lái)源:http://news.csdn.net/a/20090623/212109.html


          Life,simple and happy!


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 大方县| 桦川县| 灵川县| 青龙| 阳泉市| 南乐县| 嘉黎县| 修水县| 洞口县| 临西县| 盖州市| 金溪县| 同德县| 阿坝| 阿合奇县| 潞西市| 邵阳市| 金溪县| 醴陵市| 松滋市| 桃江县| 齐齐哈尔市| 广宁县| 翁牛特旗| 梨树县| 阿坝县| 高州市| 乌海市| 华亭县| 宁德市| 美姑县| 锦州市| 宣恩县| 武强县| 湘阴县| 仁化县| 灵山县| 万山特区| 昌江| 彰化县| 新绛县|