天天看點

用中文命名API的意義和途徑

在前文 對在代碼中使用中文命名的質疑與回應

中闡述了在代碼中使用中文命名的益處. 此文将從軟體使用者的角度闡述對API中文化的意義并探讨實作途徑. 當然, 文中面向的使用者是以中文為母語的開發者.

首先請看一個

執行個體 , 示範效果在 :
用中文命名API的意義和途徑
用中文命名API的意義和途徑
這個庫提供了一系列繪圖相關的API. 後者是筆者将這些API 封裝

成了中文之後的對應代碼.

此文的大前提是, 對以中文為母語的開發者, 中文接口版本的代碼更易了解.

API作為程式和程式之間交流的"語言", 在軟體生态圈中的重要性不言而喻. 擁有一套設計良好, 易于了解的API是大多數流行架構和庫共有的特征. 當然, 絕大多數的API都是英文的. 導緻中文使用者在學習和使用時就要更多地依賴文檔和注釋.

中文API的命名更能被中文使用者接受. 它将直接降低使用者的學習門檻, 并降低維護成本. 當然, 第三方庫對中文字元的支援問題仍然會對這一實踐造成麻煩, 但個人認為在實踐中解決這些麻煩是降低軟體開發成本付出的代價, 而且解決的越早, 後人越能乘涼.

現狀是, 即使一些國人主創, 且幾乎完全面向國内使用者的架構, 也沒有中文的API. 這裡絕無指摘之意, 因為冰凍三尺非一日之寒, 更何況這些架構問世之時中文字元的支援程度也遠不如今日.

以在下淺見, 開發中文API的途徑包括:

  • 用中文封裝現有的英文API
  • 在設計時就首選中文API

如果能夠做到在内部代碼和API都使用中文命名, 當然是最理想的, 但個人認為API的命名是更關鍵的一部分. 中文的命名規範幾乎是空白, 這需要實踐和集體智慧來填補.

封裝現有的英文API也許比較有争議. 常見的一種觀點是"XX語言的核心庫, 先漢化給我看看". 這是一個尋找切入點的問題. 一個主流程式設計語言的核心庫, 往往經曆十數年甚至更長時間的積累, 接口不下萬個. 而一些特定領域的庫的API, 接口不過數十個. 領域閱聽人也是很重要的因素. 有興趣的請在

跨界: 哪些中文非IT領域會偏好中文API, 程式設計/腳本語言?

一起探讨.

2017-10-29

繼續閱讀