ガードクローズとは
こちらの記事に詳しいですが、要するに「メソッドの最初にreturnを置いてコードを整理する」という意味です。
例えば、プレイヤーの攻撃を行うこういうメソッドがあったとします。
読みにくいですね。ちょっと直すと、こんな書き方ができます。
あまり変わりませんね。人によっては前のほうが見やすいでしょう。
さらにちょっと直すと、こうなります。
だいぶスッキリしましたね。ただ、これでは拡張性がありません。
最後に、ガードクローズを使ってみましょう。
こうしてreturnするフラグが明確であれば、コード全体が読みやすく、かつ拡張性も担保できますね。場合によっては if(isBattle && isStanding) の部分を省略することすら可能です。