コーディングの思想


コーディングの思想

コーディング規約やコーディングスタイルの前に、思想レベルの共有が必要だと思い、記事を作成しました。
リーダブルコードを理解していれば、読まなくて構いません。

一度に1つのこと

  • 抽出
  • 判定
  • 実行

までを1つのメソッドでやっているのであれば、やり過ぎです。
抽出で1メソッド、判定で1メソッド、実行で1メソッドくらい、細かくしてください。

観点としては、

  1. メソッド名がつけやすいこと
  2. テストコードがシンプルに書けること

を満たすよう心がけてください。

短いコードを書く

上記と重複する面もありますが、大きいクラスや長いメソッドは役割が大き過ぎる場合が多いので、見直してください。
ただし、理解しづらくなってまで短いコードを書け、という意味ではないです。

制御フローを読みやすくする

早期リターンを使う

例えば、引数がnullの場合それ以上処理しないのであれば、その時点で処理を離脱してください。
elseでダラダラとインデントを下げると、コードも読みづらくなるし、「今elseの処理をしている」ことを覚えておかないといけないので、人間ののリソースも消費します。

変数宣言は使う直言に

メソッドの先頭変数宣言すると、その変数を使うまでの間、人間がその変数のことを覚えていなければいけなくなります。

名前に情報を詰め込む

まずですが、ネーミングにこだわるという意識を初めに持ってください。
どんな名前でもシステムは動きますが、人間が読む場合にはネーミングで理解速度に大きな差がつきます。

適当に名前をつけない

最終的には、感性や語彙力なのですが、まず一度考えてください。
初見の人は理解できるのか、英語の意味はあっているか、スペルは間違っていないか、一度調べてください。

変な省略はしない

省略することで理解できなくなるより、理解できる長い名前の方がマシです。