""中文編程"知乎專欄原鏈" 在前文 "對在代碼中使用中文命名的質疑與回應" 中闡述了在代碼中使用中文命名的益處. 此文將從軟體使用者的角度闡述對API中文化的意義並探討實現途徑. 當然, 文中面向的用戶是以中文為母語的開發者. 首先請看一個 "實例" , 演示效果在 "此" : 這個庫提供了一系列 ...
在前文對在代碼中使用中文命名的質疑與回應中闡述了在代碼中使用中文命名的益處. 此文將從軟體使用者的角度闡述對API中文化的意義並探討實現途徑. 當然, 文中面向的用戶是以中文為母語的開發者.
這個庫提供了一系列繪圖相關的API. 後者是筆者將這些API封裝成了中文之後的對應代碼.
此文的大前提是, 對以中文為母語的開發者, 中文介面版本的代碼更易理解.
API作為程式和程式之間交流的"語言", 在軟體生態圈中的重要性不言而喻. 擁有一套設計良好, 易於理解的API是大多數流行框架和庫共有的特征. 當然, 絕大多數的API都是英文的. 導致中文用戶在學習和使用時就要更多地依賴文檔和註釋.
中文API的命名更能被中文用戶接受. 它將直接降低使用者的學習門檻, 並降低維護成本. 當然, 第三方庫對中文字元的支持問題仍然會對這一實踐造成麻煩, 但個人認為在實踐中解決這些麻煩是降低軟體開發成本付出的代價, 而且解決的越早, 後人越能乘涼.
現狀是, 即使一些國人主創, 且幾乎完全面向國內用戶的框架, 也沒有中文的API. 這裡絕無指摘之意, 因為冰凍三尺非一日之寒, 更何況這些框架問世之時中文字元的支持程度也遠不如今日.
以在下淺見, 開發中文API的途徑包括:
- 用中文封裝現有的英文API
- 在設計時就首選中文API
如果能夠做到在內部代碼和API都使用中文命名, 當然是最理想的, 但個人認為API的命名是更關鍵的一部分. 中文的命名規範幾乎是空白, 這需要實踐和集體智慧來填補.
封裝現有的英文API也許比較有爭議. 常見的一種觀點是"XX語言的核心庫, 先漢化給我看看". 這是一個尋找切入點的問題. 一個主流編程語言的核心庫, 往往經歷十數年甚至更長時間的積累, 介面不下萬個. 而一些特定領域的庫的API, 介面不過數十個. 領域受眾也是很重要的因素. 有興趣的請在跨界: 哪些中文非IT領域會偏好中文API, 編程/腳本語言?一起探討.