node.js - 三元运算符不应在 Node.js 中的单行中使用。为什么?

标签 node.js coding-style standards

考虑以下示例代码:

1.示例

var IsAdminUser = (User.Privileges == AdminPrivileges)
  ? 'yes'
  : 'no';
console.log(IsAdminUser);

2.示例

var IsAdminUser = (User.Privileges == AdminPrivileges)?'yes': 'no';
console.log(IsAdminUser);

我对第二个示例非常满意并且我用那种风格编写代码,但有人告诉我它是 wrong way在没有任何支持性理由的情况下这样做。

为什么不建议在 Node.js 中使用单行三元运算符?

谁能解释一下为什么会这样?

提前感谢您的大力帮助。

最佳答案

对于所有编码标准,它们通常都是为了可读性和可维护性。我的猜测是作者发现它在单独的行上更具可读性。您的语言的编译器/解释器将完全相同地处理它。只要你/你的项目有一个固定的标准并坚持下去,你就会没事的。我建议在确定标准之前,项目中的每个人都对这些标准进行研究或至少对其进行审查。我认为,如果您像这样将它分解成不同的行,您不妨定义一个 if/else 条件 block 并使用它。

警惕没有正当理由的编码标准规则。

就我个人而言,我不喜欢三元运算符,因为它对我来说很不自然,而且我总是需要多读几行才能理解它在做什么。我发现单独的 if/else block 更容易阅读。当然是个人喜好。

关于node.js - 三元运算符不应在 Node.js 中的单行中使用。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14832856/

相关文章:

node.js - 编译时出现 `coffee` 停止工作

javascript - 要解包的意大利面条 JavaScript 代码

c# run方法来自抽象和继承者的单个实例

c++ - C++ 标准状态

c++ - std::allocator 构造/销毁与放置 new/p->~T()

java - 如何在套接字io中使用用户名获取用户ID

javascript - 如何使用node.js将服务器变量设置为pug模板中的javascript src属性?

java - Eclipse - 每次保存时,换行的缩进都会出现和消失

MySQL 解释 SERIALIZABLE 比 PostgreSQL 更轻松。这是对的吗?

node.js - Oauth2 Node Passport 授权 header 错误(匿名用户)