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

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

首先請看一個實(shí)例, 演示效果在:

p5js_eng.png

p5js_zh.png

這個庫提供了一系列繪圖相關(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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 去年有段時間得空,就把谷歌GAE的API權(quán)威指南看了一遍,收獲頗豐,特別是在自己幾乎獨(dú)立開發(fā)了公司的云數(shù)據(jù)中心之后...
    騎單車的勛爵閱讀 21,116評論 0 41
  • 想到有幾個自我探討的話題,其中之一是一直都回避的焦慮,想著我能有什么焦慮,忙的時候暈頭轉(zhuǎn)向,等到基本能顧前顧后的時...
    燉鯰魚閱讀 258評論 0 0
  • 我知道,我不是一個完美的人,我也了解,我并不是一個討人喜歡的人+_+
    孑犭刂閱讀 169評論 0 0
  • 我要百分之百的實(shí)現(xiàn)我的目標(biāo):在2018年7月~8月,可以和孩子一起參加國學(xué)夏令營,可以去成都參加三月老師的幼兒教師...
    殷琴閱讀 162評論 0 2

友情鏈接更多精彩內(nèi)容