【问题标题】:Two-letter Variable Names in Javascript?Javascript 中的两个字母变量名?
【发布时间】:2009-05-28 00:31:07
【问题描述】:

我在看answer to an SO question today where the variable names are ua, rv, etc。我想,“伙计,人们什么时候才能学会使用全尺寸变量名,内存不再是问题了”但是,它是 Javascript,所以它必须通过电线,也许长变量名甚至会减慢解释速度。

是否在 Javascript 过早优化中使用短变量名?

我在这里时,是否有任何 Rails 或 PHP 库可以即时压缩 Javscript,以便我可以在服务器上保留长名称的 Javascript?

【问题讨论】:

    标签: javascript optimization


    【解决方案1】:

    在 JS 中使用短变量名的唯一原因是通过网络节省字节。然而,这样的发展是荒谬的。他们也写没有空格的 JS 吗?有一些工具可以优化成品 JS。 Crockford's 是最流行的一种(尽管它不会缩短变量名)。 我不记得有一个混淆/缩短变量名称的临时工具,但它们确实存在,而且编写一个也不难。 Google Closure 是一个非常令人印象深刻的 JavaScript 编译器 变成这样:

    var myFunction = function(arg1, arg2) {
        var foo = getValue(arg2);
        for(var count = 0; count < arg1.length; count++) {
            alert(foo);
        }
    };
    

    进入这个:

    function a(b,c){var d=e(c);for(var f=0;f<b.length;f++){alert(d)}}
    

    【讨论】:

    【解决方案2】:

    在开发过程中不要使用短变量名进行优化。这将严重降低可读性。在编译/部署时压缩您的 JS/CSS 文件,使用 YUI Compressor 之类的东西。

    【讨论】:

      【解决方案3】:

      人们在 javascript 中使用短变量名纯粹是为了节省带宽。它不会影响 javascript 的执行速度。而且我不知道 rails 或 PHP 库,但肯定有一些工具可以压缩你的 javascript 文件(通过将变量重命名为更短并删除不必要的空格)。

      【讨论】:

      • 我什至看到人们有 2 个版本的 Javascript。一个有全名的开发版本,一个用于直播网站的版本,基本上是一样的,只是所有的变量名都被更短的东西代替了。
      【解决方案4】:

      我们没有任何理由在开发中使用不可读的代码。

      作为其他答案,我认为您有很多资源可以节省带宽并通过快速加载页面让用户满意。

      查看这些文章:

      close-look-into-include-javascript-compression

      Production-Grade-JS

      【讨论】:

        【解决方案5】:

        我正常发育,这些答案大部分都是正确的。没有理由使用非描述性的变量名。

        但是,在编写关于 SO 的答案和示例时,变量并不一定意味着什么特别的。它们只是用于演示目的,不需要任何语义。

        【讨论】:

        • 感谢瑞恩。不过,我不会赞成它,因为我认为为演示目的编写的代码仍然具有“需要......语义意义”。除 i、j 和 k 外,所有其他变量都应提醒读者变量中包含什么或如何使用它。为什么使用“ua”而不是“userAgent”?
        • 我实际上认为语义可以淡化对用于解决问题的算法的关注。这类似于在图形设计中使用“Lorem ipsum...”作为文本占位符的原因。 (lipsum.com)
        猜你喜欢
        • 1970-01-01
        • 2019-10-25
        • 2019-08-19
        • 1970-01-01
        • 2011-07-14
        • 2019-06-02
        • 1970-01-01
        • 1970-01-01
        • 2018-10-08
        相关资源
        最近更新 更多