LoginSignup
33
40

More than 5 years have passed since last update.

プログラミングをする上で覚えておくべき原理原則

Last updated at Posted at 2017-10-09

はじめに

コードを書き始めると参考書や自己流の規則に染まってしまいますが、早い段階から原理原則を学ぶことによって、今後チーム開発をする際の共通認識となり便利かと思います。本記事では7つの原則をメモしていますが、個人的にエッセンスを抽出・解釈すると以下の3つが大切だと感じました。

Minimality(最小性)
Reusability(再利用可能性)
Readability(可読性)

それでは詳しく各原則をみていきましょう。

説明

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
// オープンクローズドの法則

  • モジュールは拡張に対して開いていなければならない
  • モジュールは修正に対して閉じていなければならない

参考: 【脱初級プログラマ】プリンシプル オブ プログラミング まとめ - Qiita

33
40
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
33
40