##「設定より規約」
というプログラミングをする上で避けて通ることのできない言葉を知っているのでしょうか?
wikipediaには、このように説明されています。(引用)
設定より規約(せっていよりきやく、英: convention over configuration)とは、開発者の決定すべきことを減少させ、単純にするが柔軟性は失わせないというソフトウェア設計パラダイム。
この言葉は本来、開発者が指定しなければならないのはアプリケーションの慣例に従わない点だけだ、ということを意味している。例えば、モデルの中に Sale というクラスがあれば、データベース中の対応する表の名前はデフォルトで sales である。この規約から逸脱したときだけ、例えばその表を "products_sold" という名前にした場合だけ、その名前を使ったコードを書く必要が生じる。
使用しているツールが実装した規約が開発者の望む動作と一致していれば、設定ファイルを書く必要もない。実装規約と望みの動作が違っている場合、必要な動作を設定しなければならない。
これだけで理解できない人のために、簡単な表現でいうと、
「基本、特に指定しなきゃデフォルトの設定で動きますよ。そのままで良いのであれば複雑で長い設定を書かなくていいですよ。デフォルトと差異をつけたいところを書いてください」
という感じです。
――――では、ここでいう規約とは何でしょうか?
実は、ある程度プログラミングを勉強してる人は必ず触れています。
例でいうと、「group」というテーブルを作ったときのテーブル名はgroupsという複数形になりますよね?これが「規約」です。
言語とかによっては規約よりも設定が多くなったり、そもそも規約が多すぎて困ってしまうということがあるかもしれませんが、基本はこの原則ということを頭に入れておきましょう。