1. 程式人生 > >在程式碼中進行中文命名實踐的短期目標 2018-11-02

在程式碼中進行中文命名實踐的短期目標 2018-11-02

對中文命名的意義不再贅述, 請參看之前的對在程式碼中使用中文命名的質疑與迴應.

去年中文命名實踐的阻力和應對之後, 在一些小專案中繼續實踐了中文命名(Java/JS/Python等, 詳見之前的專欄文章), 涉及領域不少但尚未形成明確的重點專案. 發現了一些在業務相關程式碼使用中文命名的例子(你們在怎樣的專案中使用過中文命名? - V2EX), 還未形成社群. 下面是可能的努力方面:

  1. 編寫示例程式碼為中文命名的教程. 之前有一些嘗試, 專欄中帶有示例程式碼的文章也都採用了中文命名
  2. 在開源專案中實踐中文命名, 也歡迎提出實用專案的想法或者例題面試題
  3. 開發中文命名的API, 如之前的
    簡繁轉換庫
    , 離線英漢詞典
  4. 補: 在IDE中進行中文命名的輔助工具, 包括輸入法與自動補全整合等.
  5. 開發工具, 輔助翻譯現有英文命名的原始碼為中文命名, 以 #1 輔助線上閱讀學習程式碼或者 #2 批量轉換一個專案中的所有原始碼等等

打算將最後一項作為短期內的中心內容, 圍繞它開發一系列開源工具. 包括瀏覽器外掛, IDE外掛等.

#1從兩個月前開始實踐, 最近基本實現了翻譯線上程式碼段(GitHub和碼雲)的瀏覽器外掛原型(版本已更新至0.0.11, 效果如題圖).

#2之前Java原始碼英翻中是一種可能, 但考慮儘量倚靠IDE本身重構相關API. 首先提取所有程式碼中的英文命名, 並提取單詞(如之前

對JDK原始碼的命名分析), 在機器翻譯的基礎上, 提供對某些業務術語手動翻譯的選項, 之後基於這個詞彙表進行原始碼的批量命名轉換.

在此專案實現過程中, 將在原始碼中使用中文命名, 儘可能提取易於複用的API, 並編寫系列技術開發文件. 這樣也可以觸及上面其他1/2/3三個方面.

專案中必需一些中文自然語言處理和機器翻譯相關技術和相關詞庫/語料資料, 歡迎有興趣和經驗的同仁參與.