1

假设我必须编写一个 javascript 函数:

function(){
    var a=1;
    var sum=1;
    for(var i=0;i<6;i++){
        sum=sum+a+1;
    }
    console.log(sum);
}

有人建议我这样写这个函数:

function () {

   var a = 1;
   var sum = 1;
   for (var i = 0; i < 6; i++) {
      var sum = sum + a +1;
   }
   console.log(sum);

}

有了更多的空白,我知道这条规则,但我不知道它是如何工作的,或者我能从中受益什么?

4

8 回答 8

1

编码风格的好处是增强了可读性。您决定坚持哪种风格并不重要,只要您坚持统一的风格,并且可以就其可读性与您的同事达成一致,这并不总是容易的。

于 2012-05-31T07:16:15.610 回答
1

什么是好的风格是一个见仁见智的问题,但在一般意义上,选择一些风格并在整个代码中始终如一地遵循它会更容易阅读(对于其他人来说,当你稍后回来时对你来说都是如此)。

以我的经验,大多数人发现代码更容易阅读额外的空格,如第二个示例所示。

我不喜欢在 and 之间function加空格()。或者,如果有函数名称,我不会在名称和括号之间放置空格:function someName()

另请注意,使用具有语法突出显示的现代代码编辑器(如 Stack Overflow),它比以前更容易阅读没有空格的代码。比较以下两个:

for(var i=0;i<6;i++)

for(var i=0;i<6;i++)

阅读和编辑后者,全是黑白的,真的让我很烦,但我不介意彩色版本。不过,我仍然更喜欢它有额外的空间。

我会在你的功能中做一些其他的改变:

function() {
    var a = 1,
        sum = 1,
        i;

    for(i = 0; i < 6; i++){
       sum += a + 1;
    }
    console.log(sum);
}
于 2012-05-31T07:26:54.440 回答
1

这些编码约定适用于人类,它们增加了可读性。假设我写了一个这样的表达式:

x=(a*b/2)+m-n+c*(d/e);

它看起来笨拙且难以阅读。如果我们像这样在运算符周围使用空格会更容易理解:

x = (a * b / 2) + m - n + c * (d / e);

再次使用空行通过表示部分来增加可读性。例如:

function foo() {
    var a;
    var b;
    // a blank line here to specify the end of variable declarations
    if (some_cond) {

    } else if (another_cond) {

    }
    // another blank line to specify end of some logic
    //more codes here;
}

如果你不遵循这些指导方针,并且所有团队成员都不同意某些约定,那么长期维护一个大项目将非常困难。

最后请注意,约定不是针对编译器的,而是针对人类的。这就是为什么它被称为编码指南,而不是语言语法。

于 2012-05-31T07:33:22.967 回答
0

也许你应该阅读更多关于 javascript 闭包的信息,你可以关注“Google Javascript Style Guide”

于 2012-05-31T07:20:02.933 回答
0

在编码时遵循一些统一的风格准则可以使代码更易于阅读,并帮助您编写漂亮的代码,并帮助其他人理解(并热爱!)您的代码。

当然,网上有很多资源(只需谷歌搜索一段时间,您就会得到一些 javascript 指南或指南),但这个非常简单、简单且完整:

http://javascript.crockford.com/code.html

于 2012-05-31T07:26:06.063 回答
0

这不是规则。这只是编码约定风格。如果你不想,你不需要跟随。但是这种风格可以让你的代码更易读、更容易维护、更干净。对我来说,我更喜欢有空格而不是窄字母。同样,这不是规则。

于 2012-05-31T07:27:12.543 回答
0

编码风格总是非常个人化;一个人喜欢精简的代码,以便他们可以在一个屏幕上尽可能多地看到,另一个人需要单独的行上的左大括号和右大括号,等等。

当只为自己编码时,你应该选择最适合你的东西。但是,当您开始在团队中工作并且其他人必须维护您的代码时,反之亦然,就一种编码风格达成一致就变得很重要……这可能很难。

我参加过编码风格的讨论,他们很不舒服,因为你放弃了一些个人偏好,尽管是为了更大的利益。短暂的不适后,您会习惯的;-)

于 2012-05-31T07:30:20.947 回答
0
  1. 第二个版本不等同于第一个版本,因为它声明了一个内部“总和”变量,除非 Javascript 没有按照它在锡上所说的那样做。

  2. 额外的空白行对恕我直言没有什么贡献,但我可能不会死在他们的沟里。然而,同样有效的问题是下载速度,该建议使下载速度变得更糟。

于 2012-07-13T00:27:53.013 回答