原則¶
KISS(Keep It Simple, Stupid)¶
KISS(Keep It Simple, Stupid あるいは Keep It Short and Simple)原則とは、コードを書くときに「簡潔性」を重視する考え方。
複雑なコードは読みにくく、不具合の元なので、できるかぎりシンプルに保とうという原則
コードに限らずプロダクト自体についても、無駄に使われない機能をモリモリにして複雑化するのはよろしくない
類義語:less is more, オッカムの剃刀
DRY(Don’t Repeat Yourself)¶
重複したコードは書かない、という原則
後から書き換えるときに全部手動で書き換えないといけないのは不具合の元なので。
変数をハードコードしない
YAGNI(You Aren’t Going to Need It)¶
「それはきっと必要にならない」という意味。
「多分必要になるだろう」で追加したコードは十中八九必要にならず使われないので、必要になったときに書く。
指向¶
オブジェクト指向¶
オブジェクト指向(Object-Oriented Programming, OOP)は、プログラムを「オブジェクト」という単位で構成する設計・プログラミングの考え方。オブジェクトはデータ(状態)とそのデータを操作する処理(振る舞い)をひとまとめにしたもの。
主な特徴は
カプセル化(Encapsulation) :データと処理をひとつのオブジェクトにまとめ、内部の実装を隠蔽する。外部からは公開されたインターフェース(メソッド)を通してのみアクセスできるようにすることで、意図しない変更を防ぐ。
継承(Inheritance) :既存のクラス(親クラス)の性質を引き継いで新しいクラス(子クラス)を作れる。共通処理の再利用や、階層構造の表現に使う。
ポリモーフィズム(多態性、Polymorphism) :異なるクラスのオブジェクトが同じインターフェース(メソッド名)で呼び出されても、それぞれ独自の振る舞いをすることができる。呼び出し側は具体的な型を意識せずに済む。
抽象化(Abstraction) :複雑な実装の詳細を隠し、必要な機能だけをシンプルなインターフェースとして提供する。
参考文献¶
上田勲(2016)『プリンシプル・オブ・プログラミング』