天天看點

專欄全年主題合輯-代碼中文命名相關實踐

注: 本文僅對個人親自參與的嘗試作一小結, 專欄中其他作者的嘗試還望各自總結. 文中所有例子都盡量使用了中文命名

一些對中文命名的早期實踐:

在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碼辨別符的緣由

.

專欄開通的初期, 進行了一系列的相關思考, 對今後的實踐方向有不小影響:

對線上程式設計對中文命名的支援初步調研:

之後重心轉向自研程式設計語言, 也進行了一些相關項目的中文命名嘗試:

在2個月後的2018年4月, 開始對Python官方入門文檔的示例代碼進行中文命名:

原本是打算至少完成入門部分, 但過程中逐漸發現原教程示例的局限性, 如

代碼考古-Python3官方教程字典例程

, 認為花精力在自己編寫教程上也許更值得. 就有了

"西遊記"主題Python入門示例嘗試-資料結構 5.1-5.1.2

. 也嘗試對國人原創教程中的示例進行中文化:

解謎計算機科學第一章示例漢化嘗試

接下來是一段比較嘈雜的時期,

為Chrome和火狐浏覽器編寫擴充

應該是為在插件中實作計算/程式設計工具做的技術複習. 此時發現了一系列針對中文程式設計/命名的軟文:

不禁針對性地寫了

在代碼中進行中文命名(類/變量/方法等)的優勢

. 至此, 深切感覺到進一步積極推廣中文命名的必要性.

繼續進行一些以中文命名作示例的小教程的編寫:

至此, GitHub讨論組已建立一年, 深感核心項目的必要性. 下面圍繞程式設計術語命名進行了一些技術摸索:

8月末, 源于組内讨論, 開始了批量代碼漢化工具的嘗試, 并開發了必需的英漢詞典相關工具, 從浏覽器插件, 線上服務原型, 到今天的vscode插件:

主要出于此項目對中文命名的推廣意義, 打算将這個系列作為個人

在代碼中進行中文命名實踐的短期目标

8月之後在V2EX上交流甚多, 也催生了

用Python3+tkinter開發簡單圖形界面程式

這樣的合作項目, 很希望看到類似項目的開展.

另有一個中期的目标來自于

首次發現在例程中使用日語命名的程式設計書籍

, 之後做了日語命名的調研:

它山之石-日本推廣程式設計中使用日語命名的淵源

. 發現将程式設計與傳統學科結合的現實緊迫性, 并

初步嘗試将傳統學科的内容程式/資料化

. 這不僅與中文命名緊密相關, 也是潛在的中文文法程式設計語言的土壤(見

前文

末段). 個人非常期待.

2018-11-10