gpt4 book ai didi

javascript - 在参数中声明数组是一种不好的做法吗?

转载 作者:搜寻专家 更新时间:2023-11-01 04:51:47 24 4
gpt4 key购买 nike

validationError([elem1,elem2],type,shiftNo);

var arr = [elem1,elem2];
validationError(arr,type,shiftNo);

我想问的是调用函数的方法 1 被认为是错误的(它也有任何性能影响)。就此而言,在参数中声明字符串、对象和函数是一种糟糕的方法。

最佳答案

性能不是问题,不是像 JS、Ruby 或诸如此类的语言。所以我们所能做的就是考虑代码的可读性。而且这个案例与 JS 没有很强的相关性,所以将是我的例子。

move = ["E2", "E4"];
if chessboard.valid(move, player) {
...
}

这清楚地表明:“如果移动 (E2 E4) 对这个棋盘有效,那么......”,你甚至不需要查看文档就知道了。如果我们在不为数组分配名称的情况下编写它,结果看起来有点神秘(仍然很容易猜到,但对于这么小的例子来说更难猜到):

if chessboard.valid(["E2", "E4"], player) {
...
}

这是什么意思? valid 在这里代表什么?也许,它在询问这些单元格是否包含有效玩家的棋子?这是设计缺陷的症状,更准确地说是错误的命名。它对棋盘代码的使用方式做出了大胆的假设。我们可以通过重命名 chessboard 的方法来明确表示此数组表示移动:

if chessboard.valid_move(["E2", "E4"], player) {
...
}

这样更好,但是您可能没有一个 API 可以让您的代码在没有一些额外命名的情况下保持如此可读。

所以,我建议一个经验法则:

  1. 如果该数组将被多次使用,请为其命名。
  2. 如果从数组的位置(函数名称)看数组的含义不明显,请命名它。
  3. 不要命名,除非第 1 点或第 2 点适用。

关于javascript - 在参数中声明数组是一种不好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28365203/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com