首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >‘'Fixed’for循环-哪个更有效?

‘'Fixed’for循环-哪个更有效?
EN

Stack Overflow用户
提问于 2011-01-16 19:36:33
回答 7查看 404关注 0票数 0

我正在创建一个tic-tac-toe游戏,其中一个函数必须遍历9个字段中的每一个(tic-tac-toe在3x3网格上播放)。我想知道哪个更高效(哪一个可能更快,或者在这种情况下首选的脚本方式是什么)-使用两个for嵌套循环,如下所示:

代码语言:javascript
复制
for(var i=0; i<3; i++) {
 for(var j=0; j<3; j++) {
  checkField(i, j);
 }
}

或者像这样硬编码:

代码语言:javascript
复制
checkField(0, 0);
checkField(0, 1);
checkField(0, 2);
checkField(1, 0);
checkField(1, 1);
checkField(1, 2);
checkField(2, 0);
checkField(2, 1);
checkField(2, 2);

由于只有9个组合,使用两个嵌套的for循环可能有点夸张,但这也更容易理解。然而,for循环将递增变量,并检查i和j是否每次都小于3。

在这个例子中,节省的时间至少可以忽略不计,但是在这种情况下,首选的编码方式是什么呢?

谢谢。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-01-16 19:40:45

不要硬编码9行相同的代码!

  • Readability
  • Flexibility / Maintenance
  • Code Length
票数 5
EN

Stack Overflow用户

发布于 2011-01-16 19:39:16

这是一个不成熟的微优化。在这种情况下,总是选择更清晰的解决方案-所以使用for循环:),顺便考虑一下,如果明天的网格是4x4:)

票数 3
EN

Stack Overflow用户

发布于 2011-01-16 19:40:24

节省时间:可以忽略不计。可能是无法测量的。

首选样式:嵌套for循环。好吧,你可能永远不会把它变成4x4、5x5或者3d (或者4d!)tic-tac-toe -但这是一个很好的习惯。如果你忘记了什么,避免了剪切和粘贴错误,也更容易看到。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4705079

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档