Convention over Configuration(CoC)란

강우엉·2023년 9월 9일
0

study

목록 보기
1/44

💡CoC란?

흔히 "설정 이상의 관례", "설정보다 관례" 라고 번역되고있는 Convention over Configuration는 최근 국내에서 CoC로 통일되어가고 있다.

CoC는 개발자가 내려야할 수 많은 결정들(decisions)을 줄여주어, 단순성(simplicity)을 확보하면서, 유연성(flexibility)을 잃어버리지 않도록 하기 위한 소프트웨어 디자인 패러다임이다.

💡CoC의 이점

개발자들이 개발의 생산성을 증가시키고, 편리하기위해서는 프레임워크를 빼놓을 수 없을것이다. 사실 프레임워크없이 개발하는거 자체가 상상할 수 없을것이다.

이처럼 많은 프레임워크등이 생기며 기능도 발전해왔는데, 그런 기능들을 다 사용하기 위해서는 수많은 설정파일과 세팅을 해야하는 부담감이 생겨났다. CoC는 이를 해결하기 위해 자주 사용하는 부분은 관례를 정하여 생략하고 이를 따르지 않을 경우에만 설정을 하도록 하고 있다.

예를들어 Model에 Sale이란 클래스가 있다면, 데이터베이스 내에 대응하는 테이블을 sales라고 불린다라는 관례를 정해놓는것이다. 이러면 모든 데이터베이스에 테이블을 생성할때 관례만 따른다면 자연스럽게 모델에 대응할 수 있게된다. 관례에 벗어나는 테이블에 한해서만 대응하는 코드를 작성하면된다.

가끔 CoC 패러다임을 적용하면 자유도가 떨이진다는 의견도있다. 하지만 팀으로 일하게되는 소프트웨어 개발 프로젝트 특성상 표준과 규격이 정해져있지 않는다면 협업하는데 큰 어려움이 생길것이다.

💡CoC의 문제점

CoC는 이렇게 많은 설정 파일을 관리하고 세팅을 해줘야하는 부담에서 벗어나 애플리케이션 개발에 집중할 수 있게 해주는 훌륭한 패러다임이지만 한 가지 문제가있다.

관례를 모르고 개발하면 동작방식을 이해할 수 없다. 따라서 관례에 따르지않는 경우나 커스터마이징 시 어려움을 겪을 수 있으며 관례를 찾아보기가 힘들다는 점이다.

profile
우엉이의 코딩 성장일기💻

0개의 댓글