본문 바로가기

Dev.World/개발상식&언어

[그들이 쓰는 언어] 12. Convention?

Convention인가요?

Convention 입니다.

컨벤션? 사전에 찾아보니 관습, 관례라고만 나온다.


Convention 이란 무엇인가?

개발자들이 자주 사용하는 컨벤션은 정확히 말하자면,

Convention over Configuration (CoC)를 말한다.

직역을 하자면 설정 이상의 관례, 설정을 넘은 관례라고 할 수 있다.

CoC는 개발자가 내려야 할 수 많은 결정들을 줄여주어,

단순성을 확보하면서 유연성을 잃어버리지 않도록 하기 위한 소프트웨어 디자인 패러다임이다.

말만 거창하지, 쉽게 말하면 코드를 작성하는데 있어서,

문법 상으로는 어긋나지 않는 선에서,

준 문법처럼 서로가 약속한 사항들을 의미한다.


소프트웨어의 수준이 깊어지고 그 분야가 다양해지면서, 혼자서 일하는 시간보다는

다른사람과 함께 코드를 작성하게 되는 경우가 많아졌다.

거의 일반적인 상황에서 협업을 통해 하나의 소프트웨어를 만드는 상황인 것이다.

같은 JAVA언어로 코드를 작성하는데 다를게 뭐 있겠냐라는 의문점이 생길 수도 있다.

하지만 우리나라 같은 작은 나라 안에서도 각 지방마다 특색있는 사투리들이 존재한다.

각기 다른 환경에서 프로그래밍을 배운 사람들에게는 각자만의 코딩 스타일이 있다.

하지만 이러한 코딩스타일을 컨벤션이라는 관습적인 것을 통해서,

가장 효율적인 코딩 스타일을 준수하라는 것이 개발자들 사이에서 생겨난 문화인 것이다.

표준어를 제정한 것과 같은 것이다.


좀 더 깊게 들어가면 더욱 많은 부분에 있어서 CoC 기반의 개발 분야가 존재한다.

이러한 공통의 관례는 모두가 알고 있어야 한다는 점을 주의해야 한다.

하지만 원하는 기능들에 일치하는 관례에 따라 툴에 의해 개발한다면, 설정 파일을 작성할 필요 없이 여러 장점들을 누릴 수 있다.