变量名称需要多长时间?

mbr*_*nyc 6 variables

我想,我正在寻找既有技术又有见解的答案.

变量名称需要多长时间?

我总是试图让我的变量尽可能短,同时保持适当的意义水平.但是,随着一些"子例程"的复杂性增加,我发现需要创建更长的变量名来继续让它们变得有意义.变量的长度是否会影响性能?

例如,我刚刚使用了MBReadPerSecondAverageAfterLastFlushToLog,这与我希望自己来的supercalifragilisticexpialidocious非常接近.

谢谢,

马特

ps对不起,如果你现在有一首Mary Poppins歌曲.

Set*_*gie 7

尽可能缩短命名变量是正确的,同时保留足够的含义,只需查看其名称即可描述变量的作用.

不,变量名的长度与性能完全无关.

编辑:

出于某种原因,我以为你在谈论C++.如果您是(或C或Delphi或其他编译语言),则上述内容是正确的(除非调试信息不​​会出现在发布可执行文件中).

对于Lua,Python或Ruby等动态语言,变量名的长度很可能会影响运行时性能,具体取决于执行变量名称查找的方式.如果对变量名进行散列,然后使用散列索引值表来获取变量的值,那么通常情况下,散列函数必须处理的数据越多,所需的时间就越长.

也就是说,不要因为你认为它们会更快牺牲有意义的变量名称.速度的提升通常是极其微不足道的,绝对不值得牺牲程序的可维护性.

  • 实际上,变量名*的长度*可能*与性能有关(即使从来没有实际问题),取决于语言和实现.但仍然是+1. (2认同)