昨天又在某程序员论坛看到,有人问是否有实际项目中用中文业务术语命名变量。显而易见的——当然,早有了。就在同一个论坛,几个月前就有人发帖“第一次觉得变量名为中文可以接受”分享这样的代码:
更早的“大家对于中文变量名是如何看待的?”:
而且从回复中也可见共鸣者甚众,也有证言看到日本德国公司中使用母语命名的代码。中文命名在业务相关代码中的优势正被越来越多开发者亲身体验并口口相传。
自然而然地,为更方便地使用中文命名,也催生了VS Code “中文代码快速补全插件”这样的 IDE 辅助功能,俩月不到安装数已破 500。
在上面这种代码分享的帖子下,免不了各色用各种理由试图劝退中文命名的回复,但还没看到过敢把代码换成英文命名拿出来比照的。毕竟,群众的眼睛是雪亮的。
中文命名几乎没有技术门槛,只要迈出这步尝了鲜,效果几乎是立竿见影的。反对的理由翻来覆去就那么几条,像“中文命名会导致奇怪的问题”这样的莫须有谣言,却从没看到真凭实据。实际上,「中文编程」知乎专栏和 github 组创建近三年,还没有收到一例由于中文命名标识符导致的问题报告。
最近碰到个 pypi 在 windows 的中文名支持问题,前两天看到被修复了。和解决之前的几次开源项目对中文支持问题(多为支持程度问题,而非支持但运行时出错)类似,在提出 issue 后都得到了及时的响应。不禁感叹,别人无偿帮铺好了路,某些人还把着/藏着路口不让人走,奇哉怪哉。
无论如何,车轮已经开始转动。中文命名标识符相关实践只会越来越普及,周边生态会越来越完善。如果在实践过程中,如果有任何技术/非技术问题,欢迎到 github 组提 issue,大家一同研究一下:
https://github.com/program-in-chinese/overview