【问题标题】:Is it a good idea to define variable names with utf-8 characters? [closed]用 utf-8 字符定义变量名是个好主意吗? [关闭]
【发布时间】:2013-06-18 19:25:02
【问题描述】:

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

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

θ = 1.

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

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

【问题讨论】:

  • 尤其不是 θ(希腊小写字母 THETA),它很容易与 0(数字零)混淆。
  • 很大程度上取决于上下文。我同意在科学背景下使用希腊字母而不是拼写出来(theta = 0 等)是很有意义的。这样更容易将书面方程式与您的实现进行比较;它实际上使事情 less 容易出错。另外,谁决定不能在计算环境中使用常用字母?对我来说似乎相当种族主义......它当然会遇到一些问题,这无疑会比限制自己使用 ASCII 时更多,但如果谨慎使用,当然可以。
  • @H2CO3 与源代码中的变量命名有多大关系?
  • 很明显,您没有理解手头的问题:标准化程序损坏。问题出在代码中,而不是在输入中。如果你想说“不要用有缺陷的实现来做到这一点”。否则我看不到任何相关性
  • @H2CO3 实际上,如果您正在使用这样一个错误的实现,那么您已经迷路了。没有这样的纪律可以使您免于“恶意代码更改”。你愚蠢的纪律阻止你使用这些字符这一事实根本不会阻止那个想以恶意方式修改代码的神话人物。也就是说,除非您想禁止几乎所有字符,甚至 B、I、G 等。请注意在您链接的文章中(您是否阅读过?)这些是“问题”中涉及的字符,而不是任何内容像θ!

标签: unicode utf-8 language-agnostic coding-style


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2015-04-29
    • 2015-02-03
    • 2011-04-21
    • 1970-01-01
    • 2019-08-24
    • 2016-05-29
    • 1970-01-01
    • 1970-01-01
    • 2010-11-27
    相关资源
    最近更新 更多