Open2
俺的設計原則を記録する
if文の中身はなるべく1~3行に収める
3行以上になる場合は、多くの場合関数化できる…はず。
ネストは浅く
やっぱり関数化して浅くできるはず。
処理をまとめることにもつながり、見通しがつきやすくなる。
よくあるやつで大事そうなやつ
- kISS原則
- YAGNI原則
- SOLID原則
- ボーイスカウト原則
できるだけ単純な関数にする
処理を単純にする、処理を明確にするために意識できると良いこと。
- 引数はできるだけ2つ以内に収める。(多いものは構造体などにまとめる。)
- 3つ目が必要なのは、オプション引数(挙動を変更するような場合(コードによっては危険))
- 4つ目が必要なのは、関数から取得する補足データ(エラーの結果)。
- 戻り値が出力になるようにする。
現実的なクラス名を
物体を表すクラスが基本
- 本や車タイヤなど
複数のクラスで物体クラスを作る場合は委譲する
例えば、車クラスにタイヤの大きさを渡して車を作成するのではなく、車クラスにタイヤクラスのインスタンスを渡す。
物体クラスを操作(作成、削除、etc...)するクラスは、人にする
PlayerやWorker、Operatorなど人のようなクラスにする。何を使うか何をするか覚えやすい。
例えば、Request(リクエスト内容)とRequester(リクエストを送る人)は別で作るとよい。はず。
やりたいことをよしなに少ない引数でやってくれる窓口は作る。
BankFacade(入金、出金etc...)