설정보다 관습

설정보다 관습 또는 구성보다 관습(convention over configuration), 관습에 따른 코딩(coding by convention)은 프레임워크를 사용하는 개발자가 유연성을 잃지 않고 취해야 하는 결정의 수를 줄이기 위해 시도하는, 소프트웨어 프레임워크에 사용되는 소프트웨어 디자인 패러다임이다.

이 개념은 David Heinemeier Hansson이 루비 온 레일즈 웹 프레임워크의 철학을 기술하기 위해 도입한 것이지만, 사용자 인터페이스 디자인의 실용적인 디폴트(default) 및 POLA(principle of least astonishment) 등의 초기 개념과 관련되어 있다.

용례 
이 개념은 오래되었으나 기본값 개념으로 거슬러 올라가며 최근에는 자바 라이브러리의 근간에서 쉽게 확인할 수 있다. 이를테면 자바빈즈 사양은 이 개념에 상당히 의존한다.

프레임워크 
 콜드박스 플랫폼은 라일로 위에서 구동된다
 루비 온 레일즈
 Lift
 CakePHP
 아파치 메이븐
 Grails
 심포니 (웹 프레임워크)
 Appcelerator's Titanium Alloy
 Yii
 라라벨
 Crosslight
 Durandal (자바스크립트 SPA 프레임워크)
 Ember.js
 Enduro.js
 자바 플랫폼, 엔터프라이즈 에디션
 ASP.NET MVC
 스프링 프레임워크
 Contao
 Sails (웹 프레임워크)
 미티어
 Roxy rest-API
 플레이 프레임워크
 KumbiaPHP Framework
 Aurelia
 Adonisjs

각주 

 Bachle, M., & Kirchberg, P. (2007). "Ruby on rails". IEEE Software, 24(6), 105-108. DOI 10.1109/BCI.2009.31.
 Miller, J. (2009). "Design For Convention Over Configuration". Microsoft, Retrieved 18 April 2010.
 Chen, Nicholas (2006). "Convention over configuration".

외부 링크 
Detailed information on CoC

객체 지향 프로그래밍
소프트웨어 설계