【问题标题】:Is it good practice to surround code with braces? [closed]用大括号包围代码是一种好习惯吗? [关闭]
【发布时间】:2021-12-10 14:45:10
【问题描述】:

是否可以用大括号 { } 包围代码以在 IDE 的压缩/折叠中制作代码?

例如:

{
    function foo(a,b) {
        return a*b+b;
    }

    function bar(a,b,c) {
        return a*b+c;
    }
}

这将在我的 IDE 中折叠为以下内容:

{ ...
}

是否允许使用这些额外的大括号,还是在语法上不正确? (我知道它有效,因为代码运行时没有任何语法错误。)

【问题讨论】:

  • “可以吗”...在什么情况下?正如您已经证明的那样,从语法上讲它很好。它是否符合您的团队/公司的代码风格指南或约定?应该不会

标签: javascript syntax


【解决方案1】:

你已经回答了你的问题:

是否允许使用这些额外的大括号,还是在语法上不正确?

(我知道它可以运行,因为代码运行时没有任何语法错误)

从 ES2015 开始,它在语法上是允许的。

但是,这些普通的块有一些问题:

  • 其中的函数声明有效very strangely(因此在某些情况下使用它们可能会使人们感到困惑)
  • 它们很少见 - 通常,脚本编写者不会使用它们,也不期望它们,因此使用这样的块可能会混淆一些人

如果您需要“压缩”代码的能力——在不弄乱脚本的情况下对相关代码的各个部分进行分组——考虑改用模块。例如

// fooAndBar.js
export function foo(a, b) {
  return a*b+b;
}
export function bar(a, b, c) {
  return a*b+c;
}

然后在需要的时候导入函数。

维护和调试 8 个每个 50 行的文件比维护和调试一个每个 400 行的文件要容易得多。如果您必须折叠块以使某些内容更易于阅读,那么可能是时候重构为另一个文件了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-30
    • 2015-02-18
    • 2016-03-20
    • 1970-01-01
    • 2013-06-15
    • 2020-08-25
    • 2018-07-29
    • 2017-04-28
    相关资源
    最近更新 更多