我们应该在JavaScript编码中使用长名称还是短名称?

我们应该在JavaScript编码中使用长名称还是短名称?,javascript,performance,coding-style,readability,Javascript,Performance,Coding Style,Readability,在我的工作组中有一个关于JavaScript编码的讨论。有些人认为,为了更好的可读性,我们应该使用长名称;其他人则认为,短名称应该适用于导线上的相同位 一般来说,它是关于编码约定的。一方认为“fAutoAdjustWidth”这样的标识符是可以的,而另一方则更喜欢“fAtAjtW” 那么,更好的办法是什么?我们是否应该为了性能而牺牲可读性?如果您担心线路上的位,您可以在代码上运行迷你程序。然后,您可以使用长名称进行开发,并且可以使用更小的文件进行发布 具有同等的功能。Yahoo看起来像是进行了空

在我的工作组中有一个关于JavaScript编码的讨论。有些人认为,为了更好的可读性,我们应该使用长名称;其他人则认为,短名称应该适用于导线上的相同位

一般来说,它是关于编码约定的。一方认为“fAutoAdjustWidth”这样的标识符是可以的,而另一方则更喜欢“fAtAjtW”


那么,更好的办法是什么?我们是否应该为了性能而牺牲可读性?

如果您担心线路上的位,您可以在代码上运行迷你程序。然后,您可以使用长名称进行开发,并且可以使用更小的文件进行发布
具有同等的功能。Yahoo看起来像是进行了空白压缩和令牌压缩。

使其可读,如果您觉得生成的JS文件太大,请在部署生产版本之前使用多种JS压缩程序之一,同时使用长名称维护开发版本


顺便说一句,如果你真的担心带宽,请使用

在不影响代码可读性的地方使用较小的名称。更大的名字是好的,但尽量只在真正让自己和他人更容易理解的地方使用它们。最后(如其他答案中所述),打开代码,和/或打开某种服务器压缩机制,如apache的mod_gzip或mod_deflate,以减少通过线路的比特数


话虽如此,我会优先考虑易读性而不是变量名的紧凑性。

我强烈建议不要使用短标识符。只要阅读您的示例就可以看出,当使用像fAtAjtW这样的名称时,突然需要更多的文档。在某个时候,它将变得几乎无法维护,这只是为了节省一些字节来传输


如果考虑“短”名称的唯一原因是使生成的脚本更小,从而节省一些带宽,那么我建议使用gzip压缩,这将为标识符节省多个字节。

使用长名称,它刚好足以很好地描述变量和函数


许多人需要短名称的原因之一是为了减小文件大小,但您可以通过在线上传时的工具来实现这一点。

这些人主张不要在代码中写注释吗?对变量名要完全清楚和描述性。

可能担心的不是线路上的位,而是读取和重新/查看代码的开销

我倾向于在函数中使用短名称,使函数名称尽可能长,但尽可能短而不失去有用的意义

毫无疑问,这是一种权衡。这取决于您是希望代码类似于自然语言,还是希望代码更加隐式和紧凑

一些前缀变量名将上下文信息注入其中。我说,如果有必要,IDE应该通过上下文符号在代码上提供可视覆盖这样的注入功能

VisualStudio的下一个版本将通过深入到编辑器本身的细粒度可扩展性机制使这种注释操作变得更加容易。不过,我还没有使用VisualStudio编辑Javascript

我现在明白了,你关心的确实是空间权衡。这永远不应该成为一个问题。正如其他评论员所指出的,尤其是因为存在压缩,所以总是倾向于可读性,而不是线路上的位

我要补充的唯一一件事是上面提到的,那就是,有时紧凑的名称比过长的名称更容易理解。但是很难把短名字取对。根据我的经验,长名字更容易、更快速地正确命名

短名称的原因永远不应该是数据压缩,而应该是认知效率。起作用的是个人

而其他人更喜欢“法塔杰特”

即使“线路上的位”是一个问题(事实并非如此),像这样的命名约定也会使代码在项目工作的第一周后完全无法维护

阅读代码几乎是不可能的,在编写代码时,人们必须不断思考“是‘fAutoAdjustWidth’缩写为‘fAtAjtW’还是‘fAutAtW’?”。在编写代码时要付出巨大的精神税,这将导致生产率大大降低

最重要的是,在Javascript中,每个输入错误的名称都会得到一个新变量,这一事实加剧了问题的严重性

一方认为“fAutoAdjustWidth”这样的标识符是可以的,而另一方则更喜欢“fAtAjtW”

“fAtAjtW”是一种无法阅读、无法归类的恐怖。说真的,有人喜欢这样吗?搞笑的,不可能记住的 — 是“AtAjt”还是“AutAdj”

“autoAdjustWidth”将是一个合适的完整属性名称。(我对“f”前缀表示法一点也不确信,但这是另一个问题。)有时你想要一个非常短的变量名(例如,小循环中的临时变量),在这种情况下,我个人直接选择“var aaw”,而不是上面的噩梦


至于表现,没有区别。JavaScript不在乎你创建变量名的时间长短,假设你在进入浏览器的过程中压缩了脚本,压缩将消除短名称的任何传输优势。

使用大变量名,因为它们有助于程序员

要在线保存位,请在将Javascript部署到生产服务器之前缩小它。有一个压缩变量名的选项,这对您来说似乎是两全其美。

任何认为“fAtAjtW”更可取的人都在编程中使用某种药理学方法。fAutoAdjustWidth非常精细,非常谨慎。Javascript库不使用类似于fAtAjtW的名称是有原因的。如果你担心尺寸,那么