使用 utf-8 字符定义变量名称是个好主意吗?[关闭]

Is it a good idea to define variable names with utf-8 characters? [closed]

提问人:yansal 提问时间:6/19/2013 更新时间:6/19/2013 访问量:648

问:

当然,这个问题只与允许在变量名称中使用 utf-8 字符的编程语言有关(例如 python3、golang......

当我需要从科学论文中编写一些代码时,我有一种写这种代码的诱惑:

θ = 1.

当涉及大量变量时,我认为此代码可能更清晰、更易于阅读,因为变量在代码和论文中具有相同的名称。当然,写起来要困难得多,因为字符不在键盘上。

你怎么看这个想法?如果你正在阅读该代码,你会有什么反应?

Unicode UTF-8 与语言无关的 编码样式

评论

1赞 Adam Rosenfield 6/19/2013
尤其是 θ(希腊小写字母 THETA),它很容易与 0(数字零)混淆。
1赞 Rody Oldenhuis 6/19/2013
很大程度上取决于上下文。我同意,在科学背景下,使用希腊字母而不是拼写出来(等)很有意义。以这种方式将编写的方程式与您的实现进行比较会更容易;它实际上使事情变得不那么容易出错。另外,谁决定在计算环境中不能使用常用的字母表?在我看来相当种族主义......当然,它也会有其问题,毫无疑问,这些问题将比将自己限制为 ASCII 时要多,但要谨慎谨慎地使用,当然为什么不呢。theta = 0
1赞 R. Martinho Fernandes 6/19/2013
@H2CO3这与源代码中的变量命名有多大关系?
1赞 R. Martinho Fernandes 6/19/2013
显然,你不明白手头的问题:破坏了正常化程序。问题出在代码中,而不是在输入中。如果你想说“不要用有缺陷的实现来做这件事”,当然可以。否则我看不出任何相关性
1赞 R. Martinho Fernandes 6/20/2013
@H2CO3 实际上,如果你使用这样一个有缺陷的实现,你已经输了。没有这样的纪律可以使您免于“恶意代码更改”。你愚蠢的纪律阻止你使用这些字符的事实并不能阻止那个想要以恶意方式修改代码的神话般的人。也就是说,除非你想禁止几乎所有的角色,甚至是 B、I、G 等。请注意,在您链接的文章中(您读过吗?)这些是“问题”中涉及的字符,而不是像 θ 这样的东西!

答:

3赞 lkkeepmoving 6/19/2013 #1

我相信如果 utf-8 字符在变量名称中工作正常,那么如果使用带有 utf-8 字符的变量名称可以提高程序的可读性,那就使用它吧。