utf-8 - 为什么非 ASCII 字符在函数/变量名称中仍然不受欢迎?

标签 utf-8 naming-conventions

当我看到一个为一些学生编写的小程序时,我经常看到这样的东西:(haskell,德语):

ueber = "What the haeck!"

而不是

über = "What the häck!"

由于许多现代语言被指定允许通过 UTF-8 在声明名称中使用非标准字符,是否有特殊原因在项目中避免使用这些字符,这肯定只适用于能够输入这些字符的人(比如一组德国学生?)还是这只是一个历史原因?

我知道,如果您在国际上开发应用程序,则应该将名称保留在 a-zA-Z_0-9 中,但是有什么理由在“本地”项目中避免这样做吗?

最佳答案

is there a special reason for avoiding these in a project, which is sure to be only for people who are able to input these characters

这当然是主要原因。我想到的其他原因是许多开发工具、搜索功能、编辑器、解析器、文档记录器、代码搜索引擎等不会期望代码中出现非 ASCII 输入。

此外,您永远不知道有一天您的代码会被用在哪里!最小的无辜学校项目可以成长为一个很好的开源工具,有一天会在全局范围内使用。在这种情况下,ASCII 最小的公分母,至少目前是这样。

关于utf-8 - 为什么非 ASCII 字符在函数/变量名称中仍然不受欢迎?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3667294/

相关文章:

C - 如何将宽字符日语字符转换为 UTF-8?

utf-8 - UTF-8 不支持哪些语言?

python - 有没有办法在具有不同变音符号的日语假名字符之间进行 "logical"转换?

javascript - PhantomJS 将字符变成坏数据

c# - 一个类名很常见怎么办?

c# - 从 WCF 发送的响应中删除 utf-8 标识符 (BOM)

c# - RSACryptoServiceProvider.Encrypt(byte[] rgb, bool fOAEP) 中的 rgb 是什么

c# - (约定)C# 类名

database - 国际化 (i18n) 数据库字段的命名约定

c# - 部分类文件名的命名约定?