中文编程
首发于中文编程

在LeetCode中的解答中使用中文命名

仅测了算法部分的简单问题"two-sum", 语言用Java. 类名和方法名必须保留原英文, 不然测试系统无法找到测试对象, 会报错 "error: cannot access Solution", "error: cannot find symbol: method twoSum(int[],int)".

比较直接的实现, 变量命名没问题:

leetcode two-sum解一

改了一下解法, 顺便测试了方法命名也支持:

测试新建的中文类名, 也支持:

但是如果有编译错误, 在错误信息中, 中文不能正常显示, 如:

Line 10: error: non-static method ???(int[],HashMap<Integer,Integer>) cannot be referenced from a static context

为此, 向LeetCode报告编译信息中Unicode显示问题

文章被以下专栏收录

    在所有编程语言和领域中尝试编写中文代码,开发相关工具,总结经验,一致代码风格。包括中文命名,汉化现有语言,创造中文语法的编程语言等等。作为最熟悉的母语,用来编写代码会让代码更容易被自己和母语相同的其他开发者理解。基于英文的编程语言和框架中,使用中文命名有时有技术问题。希望这里为后人趟雷,填坑。多数现有API是英文的,这里也会对其中一些常用的进行汉化。当然,这里也会对基于中文的编程语言进行探讨。包括汉化基于英文的编程语言,以及创造新的编程语言。