Open2

俺的設計原則を記録する

トーテムトーテム

if文の中身はなるべく1~3行に収める

3行以上になる場合は、多くの場合関数化できる…はず。

ネストは浅く

やっぱり関数化して浅くできるはず。
処理をまとめることにもつながり、見通しがつきやすくなる。

トーテムトーテム

よくあるやつで大事そうなやつ

  • kISS原則
  • YAGNI原則
  • SOLID原則
  • ボーイスカウト原則

できるだけ単純な関数にする

処理を単純にする、処理を明確にするために意識できると良いこと。

  • 引数はできるだけ2つ以内に収める。(多いものは構造体などにまとめる。)
  • 3つ目が必要なのは、オプション引数(挙動を変更するような場合(コードによっては危険))
  • 4つ目が必要なのは、関数から取得する補足データ(エラーの結果)。
  • 戻り値が出力になるようにする。

現実的なクラス名を

物体を表すクラスが基本

  • 本や車タイヤなど

複数のクラスで物体クラスを作る場合は委譲する

例えば、車クラスにタイヤの大きさを渡して車を作成するのではなく、車クラスにタイヤクラスのインスタンスを渡す。

物体クラスを操作(作成、削除、etc...)するクラスは、人にする

PlayerやWorker、Operatorなど人のようなクラスにする。何を使うか何をするか覚えやすい。
例えば、Request(リクエスト内容)とRequester(リクエストを送る人)は別で作るとよい。はず。

やりたいことをよしなに少ない引数でやってくれる窓口は作る。

BankFacade(入金、出金etc...)