在前文對在代碼中使用中文命名的質(zhì)疑與回應(yīng)中闡述了在代碼中使用中文命名的益處. 此文將從軟件使用者的角度闡述對API中文化的意義并探討實(shí)現(xiàn)途徑. 當(dāng)然, 文中面向的用戶是以中文為母語的開發(fā)者.


這個庫提供了一系列繪圖相關(guān)的API. 后者是筆者將這些API封裝成了中文之后的對應(yīng)代碼.
此文的大前提是, 對以中文為母語的開發(fā)者, 中文接口版本的代碼更易理解.
API作為程序和程序之間交流的"語言", 在軟件生態(tài)圈中的重要性不言而喻. 擁有一套設(shè)計良好, 易于理解的API是大多數(shù)流行框架和庫共有的特征. 當(dāng)然, 絕大多數(shù)的API都是英文的. 導(dǎo)致中文用戶在學(xué)習(xí)和使用時就要更多地依賴文檔和注釋.
中文API的命名更能被中文用戶接受. 它將直接降低使用者的學(xué)習(xí)門檻, 并降低維護(hù)成本. 當(dāng)然, 第三方庫對中文字符的支持問題仍然會對這一實(shí)踐造成麻煩, 但個人認(rèn)為在實(shí)踐中解決這些麻煩是降低軟件開發(fā)成本付出的代價, 而且解決的越早, 后人越能乘涼.
現(xiàn)狀是, 即使一些國人主創(chuàng), 且?guī)缀跬耆嫦驀鴥?nèi)用戶的框架, 也沒有中文的API. 這里絕無指摘之意, 因?yàn)楸鶅鋈叻且蝗罩? 更何況這些框架問世之時中文字符的支持程度也遠(yuǎn)不如今日.
以在下淺見, 開發(fā)中文API的途徑包括:
- 用中文封裝現(xiàn)有的英文API
- 在設(shè)計時就首選中文API
如果能夠做到在內(nèi)部代碼和API都使用中文命名, 當(dāng)然是最理想的, 但個人認(rèn)為API的命名是更關(guān)鍵的一部分. 中文的命名規(guī)范幾乎是空白, 這需要實(shí)踐和集體智慧來填補(bǔ).
封裝現(xiàn)有的英文API也許比較有爭議. 常見的一種觀點(diǎn)是"XX語言的核心庫, 先漢化給我看看". 這是一個尋找切入點(diǎn)的問題. 一個主流編程語言的核心庫, 往往經(jīng)歷十?dāng)?shù)年甚至更長時間的積累, 接口不下萬個. 而一些特定領(lǐng)域的庫的API, 接口不過數(shù)十個. 領(lǐng)域受眾也是很重要的因素. 有興趣的請在跨界: 哪些中文非IT領(lǐng)域會偏好中文API, 編程/腳本語言?一起探討.
2017-10-29