Unicode 用utf-8字符定义变量名是个好主意吗?

Unicode 用utf-8字符定义变量名是个好主意吗?,unicode,utf-8,language-agnostic,coding-style,Unicode,Utf 8,Language Agnostic,Coding Style,当然,这个问题只与允许变量名中使用utf-8字符的编程语言有关(例如python3、golang…) 当我需要从科学论文中编写一些代码时,我很想编写这种代码: θ = 1. 当涉及很多变量时,我认为这段代码可能更清晰、更容易阅读,因为代码和论文中的变量名称相同。当然,因为字符不在键盘上,所以写起来要困难得多 你觉得这个主意怎么样?如果您正在阅读该代码,您会有什么反应?我相信如果utf-8字符在变量名中工作正常,那么如果使用utf-8字符的变量名可以提高程序的可读性,就使用它。尤其是不要使用θ(

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

当我需要从科学论文中编写一些代码时,我很想编写这种代码:

θ = 1.
当涉及很多变量时,我认为这段代码可能更清晰、更容易阅读,因为代码和论文中的变量名称相同。当然,因为字符不在键盘上,所以写起来要困难得多


你觉得这个主意怎么样?如果您正在阅读该代码,您会有什么反应?

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

尤其是不要使用θ(希腊小写字母θ),因为它很容易与0(数字零)混淆.很大程度上取决于上下文。我同意,在科学语境中,使用希腊字母比拼写它们更有意义(
theta=0
,等等)。这样比较编写的公式和实现就更容易了;它实际上使事情不那么容易出错。另外,谁决定在计算环境中不能使用常用的字母表?对我来说似乎有点种族主义…当然,它也会有它的问题,这无疑比限制自己使用ASCII时要多,但如果谨慎使用,当然可以。@H2CO3这与源代码中的命名变量有多大关系?很明显,您不理解当前的问题:破坏的规范化例程。问题出在代码中,而不是输入中。如果你想说“不要用有缺陷的实现来做这件事”,当然。否则我什么也看不到relevance@H2CO3事实上,如果您正在使用这样一个错误的实现,那么您已经失败了。没有这样的规则可以使您免于“恶意代码更改”。事实上,你愚蠢的纪律阻止你使用这些角色并不能阻止那些虚构的人以恶意的方式修改代码。也就是说,除非你想禁止几乎所有的字符,即使是B、I、G等等。注意你链接的文章(你读过吗?)中的字符是“问题”中涉及的字符,而不是像θ这样的字符!