注: 本文僅對個人親自參與的嘗試作一小結, 專欄中其他作者的嘗試還望各自總結. 文中所有例子都盡量使用了中文命名
一些對中文命名的早期實踐:
- 2015年 對JDK中接口的中文化嘗試
- 2016年的 Spring Boot 1.3.3示範 嘗試了前後端中文命名
- 2017年開始 Java實作的彙編語言編譯器
- 将之前的插件項目中的代碼中文化: 火狐插件實作浏覽曆史按主題顯示(樹)
在2017年發現
多數流行程式設計語言已經支援Unicode/中文命名, 并開始
小結中文命名的風格和特點. 2017年7月編寫了
中文代碼示例教程之Java程式設計一天入門, 體驗了選取例程題材的趣味與難度. 同月也
在Maven Central釋出中文API的Java庫(後話, 在一年後喜獲V2EX的使用者回報"第一次見以漢字命名的 Java 類"). 8月嘗試
對現有圖形庫p5js的接口進行中文化, 是在JDK接口中文化之後, 從通用庫轉向專用庫的一步. 必須提到的是, 在2017年初發現13年前就有同仁提出
中文命名的可讀性優勢與IDE支援問題, 而在半年後成立的"中文程式設計"GitHub讨論組中, 有幸碰到通過IDE插件實作拼音輸入法和自動補全功能內建的同好.
在"中文程式設計"知乎專欄于2017年11月9月開通之前, 對現有架構的入門教程的示例代碼嘗試中文化, 并與VueJS開發組進行了中文命名相關問題的交流:
專欄開通之際編寫的
對在代碼中使用中文命名的質疑與回應是對之前看到的各種反對聲音的總結, 至今尚未看到有力的反證, 并且在一路上的探索中發現了越來越多的佐證, 比如11月末發現的
Python3選擇支援非ASCII碼辨別符的緣由.
專欄開通的初期, 進行了一系列的相關思考, 對今後的實踐方向有不小影響:
對線上程式設計對中文命名的支援初步調研:
之後重心轉向自研程式設計語言, 也進行了一些相關項目的中文命名嘗試:
- 編寫Visual Studio Code插件初嘗試
- 中文代碼示例之5分鐘入門TypeScript , 此文與GitHub讨論組内成員對TypeScript進行中文化有關, 半年後有了 5分鐘入門CTS-嘗鮮中文版TypeScript
- FriceEngine試用與API中文化 也是與組内成員項目的交流嘗試
- 手機程式設計環境初嘗試-用AIDE開發Android應用 也與組内成員有關
- 淺嘗The Little Prover一書, 重逢Chez Scheme
- 程式設計貓IDE體驗:對Scratch的改進 對少兒程式設計進行了初步了解
- 嘗試了一些短示例示範中文命名, 如 中文代碼示例之冒泡算法, 後感 , [中文代碼示例[譯]Scala中建立隐式函數]( https://zhuanlan.zhihu.com/p/33861930), 并在 項目/教程中使用母語命名的"問題" 中進行了一些反思.
在2個月後的2018年4月, 開始對Python官方入門文檔的示例代碼進行中文命名:
- 搭建Python官方文檔翻譯環境-漢化示例代碼
- 中文代碼示例視訊示範Python入門教程第三章 簡介Python
- 中文代碼示例視訊示範Python入門教程第四章 控制流
- 中文代碼示例視訊示範Python入門第五章 資料結構
原本是打算至少完成入門部分, 但過程中逐漸發現原教程示例的局限性, 如
代碼考古-Python3官方教程字典例程, 認為花精力在自己編寫教程上也許更值得. 就有了
"西遊記"主題Python入門示例嘗試-資料結構 5.1-5.1.2. 也嘗試對國人原創教程中的示例進行中文化:
解謎計算機科學第一章示例漢化嘗試接下來是一段比較嘈雜的時期,
為Chrome和火狐浏覽器編寫擴充應該是為在插件中實作計算/程式設計工具做的技術複習. 此時發現了一系列針對中文程式設計/命名的軟文:
不禁針對性地寫了
在代碼中進行中文命名(類/變量/方法等)的優勢. 至此, 深切感覺到進一步積極推廣中文命名的必要性.
繼續進行一些以中文命名作示例的小教程的編寫:
- 對DLL庫中的接口進行中文命名
- 中文代碼示例之Python-如何周遊字典
- 在Office的VBA代碼裡中文命名
- 中文代碼示例之Spring Boot 2.0.3問好
- Head First OO分析設計一書略讀與例子中文化
至此, GitHub讨論組已建立一年, 深感核心項目的必要性. 下面圍繞程式設計術語命名進行了一些技術摸索:
- 中文代碼之Spring Boot實作簡單REST服務
- 中文代碼之Spring Boot添加基本日志
- 中文代碼之Spring Boot內建H2記憶體資料庫
- 中文代碼之Spring Boot對H2資料庫簡單查詢
- 使用JDT核心庫解析JDK源碼後初步分析API命名
8月末, 源于組内讨論, 開始了批量代碼漢化工具的嘗試, 并開發了必需的英漢詞典相關工具, 從浏覽器插件, 線上服務原型, 到今天的vscode插件:
- 浏覽器插件實作GitHub代碼翻譯原型示範
- Java實作英漢詞典API初版釋出在Maven
- 調研: 使用現有線上翻譯服務進行代碼翻譯的體驗
- 代碼翻譯嘗試-使用Roaster解析和生成Java源碼
- Java源碼英翻中庫以及服務原型
- Java源碼英翻中網頁示範
- Java源碼英翻中進展-内測上線
- 在浏覽器插件中讀取JSON資源檔案
- 浏覽器插件-離線英漢詞典
- Chrome插件實作GitHub代碼翻譯v0.0.3
- Chrome插件實作GitHub代碼離線翻譯v0.0.4
- 浏覽器插件-離線英漢詞典 0.0.7
- 線上代碼離線翻譯Chrome插件"一馬"v0.0.8
- 線上代碼離線翻譯Chrome插件"一馬"v0.0.14
- Visual Studio Code插件-英漢詞典初版釋出
- VS Code英漢詞典插件v0.0.4-駝峰下劃線命名
主要出于此項目對中文命名的推廣意義, 打算将這個系列作為個人
在代碼中進行中文命名實踐的短期目标8月之後在V2EX上交流甚多, 也催生了
用Python3+tkinter開發簡單圖形界面程式這樣的合作項目, 很希望看到類似項目的開展.
另有一個中期的目标來自于
首次發現在例程中使用日語命名的程式設計書籍, 之後做了日語命名的調研:
它山之石-日本推廣程式設計中使用日語命名的淵源. 發現将程式設計與傳統學科結合的現實緊迫性, 并
初步嘗試将傳統學科的内容程式/資料化. 這不僅與中文命名緊密相關, 也是潛在的中文文法程式設計語言的土壤(見
前文末段). 個人非常期待.
2018-11-10