AI征服经典游戏贪吃蛇。项目链接:https://github.com/linyiLYi/snake-aiTimestamp00:00 AutoGPT写游戏01:37 AI 打爆贪吃蛇08:34 思考
我说的多余的 else 可以考虑优化,是和业务逻辑有关 + 通过 Invert 'if' statement to reduce nesting,比如:
上面这张图是网上随便找的,在这个例子中,你可以 argue 左边的逻辑更容易让人理解流程,不过在很多时候,在评估一系列条件时,一个条件不符合,马上快速退出更好地反映业务逻辑。
:
如果你想要的逻辑是:
if (A) { if (B) { if (C) { return "ABC"; } else { return "AB"; } } else return "A" } else { return ""; }
我多半会:
let result = ""; if (A) result += "A"; if (B) result += "B"; if (C) result += "C"; return result;
如果你想要的逻辑其实是:
if (A) { if (B) { if (C) { return "X"; } else { return "Y"; } } else return "Z" } else { return ""; }
我多半会:
return A ? (B ? (C ? "X" : "Y") : "Z" ) : "";
主要考量是能不能从 code 迅速在脑中反构出流程图。