隨筆-199  評論-203  文章-11  trackbacks-0

              根據國外媒體報道,卡耐基梅隆大學計算機系的研究人員日前開發了兩款工具用于幫助程序員從成千上萬的Java API中選擇合適的API。

          這兩款工具的名字分別是Jadeite和Apatite。它們利用了以人為中心的設計技術,從而大大縮短了搜尋合適的類與API的時間。為一個程序選擇合適的API并不那么直觀,人機交互學教授Brad A. Myers說道。目前Javadoc庫中有35000個方法包含在4100個類中,而且這些數字還在不斷擴大,因為每發布新版本的Java,就會有一批新的API被添加進去。就連最好的開發人員也無法完全熟悉這些API。

          這是所有程序員所面臨的基本問題,不管他們是菜鳥還是專家,Myers說道,雖然可以讓API設計的更加簡單易用,但現有的Java 編程中所用到的大量重要的API使用起來仍然很困難。Jadeite和Apatite可以幫助程序員們從現有的API中選擇自己所需要的。

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

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

          另外,有的對象的創建對于程序員來說并不是特別熟悉,比如SSL sockets。在這種情況下,Jadeite包含了程序員創建這些對象的最常用代碼,用戶可以從這些代碼范例中得到啟發。

          通過對用戶試用的研究顯示使用Jadeite可以比使用標準的Javadoc提高三倍的效率。

          Apatite(http://www.cs.cmu.edu/~apatite)是Associative Perusal of APIs That Identifies Targets Easily的縮寫,其實現方法與Jadeite不同,它可以讓程序員瀏覽API之間的關系,可以查看不同的包、類和方法之間的彼此聯系。

          Jadeite和Apatite目前均處于實驗研究階段,但已經可以讓公眾使用。將這兩個工具推廣后會增強它們在眾包方面的功能。同時還能給研究人員重要的反饋信息,從而繼續對它們進行改進。(譯/曹巳甲)


          小資料:眾包技術,原指在產品和服務項目等開發中,以低工資或無償地招募愿意參加的不特定數目的人員來進行開發工作的開發形態。在軟件開發領域中,以開放源代碼的形式向互聯網等公開源代碼,全世界的人通過互聯網廣泛聚集,利用業余時間進行工作,從而使軟件更加完善。
          在這里眾包是指使用者可以為API添加說明,這些說明可以通過互聯網被其他使用者共享。



          轉載地址:http://news.csdn.net/a/20090623/212109.html#postcomment
          posted on 2009-06-23 12:30 Werther 閱讀(113) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          I'm reading...

          Java 60

          Head  First SQL

          寶貝連接


          If you need these books,pls send me emails.
          Email:kunpeng.niu@163.com
          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          留言簿(10)

          隨筆分類(178)

          隨筆檔案(208)

          文章檔案(1)

          新聞檔案(6)

          相冊

          1.Java Official Website

          2.Java Study Website

          3.Java Technic Website

          4.Java Video Website

          5.Database Website

          6.Bookshop Website

          7.English Website

          8.Friends Link

          9.Other Web

          積分與排名

          • 積分 - 684761
          • 排名 - 67

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 朔州市| 潞城市| 西华县| 信阳市| 甘肃省| 东平县| 海兴县| 商城县| 江达县| 铁力市| 洛阳市| 楚雄市| 彭泽县| 中牟县| 利川市| 炎陵县| 平利县| 镇坪县| 唐山市| 卢氏县| 县级市| 昆明市| 八宿县| 江口县| 环江| 澄迈县| 利川市| 连城县| 台东市| 营山县| 葫芦岛市| 都兰县| 荥阳市| 清镇市| 梨树县| 淅川县| 高州市| 白城市| 资溪县| 高青县| 淄博市|