痛點
JDK 6 時期已有 3,500 類、35,000 方法,且持續增長。開發者難以記憶完整 API,傳統 Javadoc 僅提供字母排序,缺乏「使用頻率」、「關聯性」、「範例」等決策輔助。
Jadeite (Java Documentation with Extra Information Tacked-on for Emphasis)
網址:cs.cmu.edu/~jadeite
核心功能
- 字體大小 = 使用頻率:Google Code Search 統計熱門類別 (如
PrintWriter) 放大顯示,冷門類別 (如 PrintEvent) 縮小。
- 眾包 Placeholder:使用者可為「名不副實」的類別加入導引。例如
Message、MimeMessage 不含發送郵件方法,Placeholder 直接指向 Transport.send()。
- 物件建立範例:針對複雜建構流程 (如
SSLSocket),提供最常用程式碼片段可直接複製。
實證結果
使用者測試顯示:完成同樣編程任務,Jadeite 耗時為標準 Javadoc 的 1/3。
Apatite (Associative Perusal of APIs That Identifies Targets Easily)
網址:cs.cmu.edu/~apatite
核心功能
- 關聯瀏覽:以「包 → 類 → 方法」關聯圖呈現,支援雙向導航(從方法反查類別、從類別反查包)。
- 關鍵字過濾:輸入關鍵字即時高亮相關 API,縮小搜尋範圍。
- 視覺化權重:節點大小反映使用頻率,邊粗細反映呼叫關係強度。
眾包機制
兩工具均採開放式協作:使用者貢獻 Placeholder、範例、標註,經審核後即時生效,形成「越用越強」的知識庫。
現狀與展望
- 目前為實驗研究階段,對外開放使用
- 歡迎社群貢獻資料,回饋將持續改進演算法與介面
- 未來規劃整合 IDE 插件 (Eclipse/IntelliJ)、支援更多語言生態
對開發者的啟示
API 文件不應只是「字典」,而應是「導航儀」。結合使用統計、社群智慧、視覺化關聯,能大幅降低認知負荷,提升開發效率。