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