亞洲
在 Rust 選擇支援非 ASCII 碼識別符號在 GitHub 引發的激辯中,有韓國開發者聲援,但尚未看到韓語命名的例項。下面主要是日本的相關實踐和研究。
早在 1992 年就有母語日文命名與英文命名識別符號的可讀性比較實驗:
各種日文命名相關的論文包括 IDE 輔助功能研究等等延續至今。其中 2018 年《ローマ字入力による日本語識別子入力補完プラグインの開発と評価》的摘要中提到日文命名識別符號使程式碼對本國開發者的可讀性提高的多份報告:
There are several reports that it is useful to write the identier names of variables and functions in Japanese as one way to increase the readability of source codes for Japanese programmers.
2018 年日本官方釋出的小學程式設計教育指導,直接使用日文命名的語法和 API:
在程式設計教程方面,2017 年出版的 JavaScript 入門譯著《初めてのJavaScript 第3版 -- ES2015以降の最新ウェブ開発》中使用了日語命名的例程如下:
此書作者在計算機領域深耕多年,對將原書中英文例程改為日文命名的緣由的闡述中提到(詳見此文):
これからは、日本國內をターゲットにした開発では徐々に日本語識別子が使われることになるのでしょう。
經有道翻譯:“今後,以日本國內為目標的開發將逐漸使用日語識別符號。”
另外,早在 2003 年出版的日文 MySQL 書籍中,使用了母語例程:
CREATE TABLE 社員 ( 社員番號 INT NOT NULL, 氏名 CHAR(20) NOT NULL, 性別 ENUM(`男`,`女`) NOT NULL, 部署コード INT NOT NULL, 入社年度 year NOT NULL, MAIL CHAR(40) NOT NULL, INDEX (社員番號), INDEX (氏名));
V2EX 論壇上的這位在 2018 年也回憶了日本外包專案中的日語命名:
歐洲2017 年的 quora 回答中,指出西門子、愛立信等公司的專案使用了德語、瑞典語命名識別符號:
At both Siemens (German) and Ericsson (Swedish), I have seen programs written in C, and C++ where the only English words are the keywords. ...Everything else was in German or Swedish.
另外在布拉格看到一本 Java 程式設計書籍中有某歐洲語言識別符號命名的例程。
該答主還感嘆了程式碼含義幾乎全部來自識別符號命名:
The single thing that jumped out at me was just how important intentional naming is.The whole story, and I mean literally everything - that can be known about the software comes from the names, and nothing but the names in it.
回答全文截圖如下: