関数やメソッドを書くときは抽象度が異なる処理が混在しないようにする

ひとつの関数の中で抽象度が異なる処理があるのは誤解を招くもとになります。

例えば、isAdminがtrueかfalseで分岐する処理が関数の中にあるとします。

const hoge = () => {
  if(isAdmin){
    // showAccountList()という関数を呼び出す
  }else{
    // 各ユーザーのプロフィールを表示するための具体的な処理が書かれている
  }
}

isAdminがtrueの場合は、とある関数を一つ呼び出しています。

しかし、falseの場合は具体的な処理が書かれています。

trueの場合とfalseの場合の処理は同じ階層のはずなので、どちらも関数を呼び出すようにすることで抽象度がそろいます。

上記のように一方だけ具体的な処理が書かれていると、このhogeという関数の役割があいまいになり、理解しづらくなります。