悩み

コードを書き始めると参考書や自己流の規則に染まってしまいますが、早い段階から原理原則を学ぶことによって、今後チーム開発をする際の共通認識となり便利になります。

KISS : Keep it simple, stupid
// シンプルにしておけ!この間抜け
- コードを書くときに簡潔・単純にすることを意識する
- それが本当に必要なコードなのかを吟味する
- 今、必要とされているコードだけを書く
- 勝手に要件を付け加えない

DRY : Don't Repeat Yourself
// 繰り返しを避けろ
- それぞれのコードに唯一無二で明確な意味を持たせる
- オブジェクト指向プログラミングを活用する
- コードの再利用によって生産性を高める

YAGNI : You Ain’t Gonna Need It
// それはきっといらないよ
- ソフトウェアの変化予測は不可能である
- 不必要なコードを書くことは複雑性を生む
- 今、必要とされているコードだけを書く

PIE : Program Intently and Expressively
// 意図が明確に読み取れるコードを書け
- ソフトウェアの動作を完全・正確に知ることのできるものはコード以外存在しない
- 書いていた時間よりも読まれる時間の方が長い
- 読むときに効率を上げるためにWhy, What, Howをコメントする

SLAP : Single Level of Abstraction Principle
// 抽象度を統一せよ
- 抽象度によってコードを分離するべきである
- 外部公開されたユーザー側のコードは高水準である
- 処理や計算、API利用に関わる非公開のコードは低水準である
- 序文(コメントによる要約)、目次(関数の一覧)、セクション、章、段落

SRP : Single Responsibility Principle
// 単一責任の原則
- クラスを変更する理由は複数存在してはいけない
- 変更の理由が変更の理由たるのは、実際に変更の理由が生じた場合だけである
- 結合している役割を見つけそれらを分離する作業は、ソフトウェア設計の本質である

OCP : Open-Close Principle
// オープンクローズドの法則
- モジュールは拡張に対して開いていなければならない
- モジュールは修正に対して閉じていなければならない



以上7項目を意識してプログラミングをしていきましょう。