[기타] CamelCase VS SnakeCase

대원·2023년 7월 26일

기타

목록 보기
1/5

CamelCase VS SnakeCase

배경

  • CRUD를 위한 Entity 컬럼에서 값을 꺼내오는 간단한 쿼리문을 작성하는데,
    DDL에서 컬럼의 이름을 CamelCase 표기법으로 작성하고 있는 나를 발견했다.
  • Repository 계층에선 또 Snakecase 표기법으로 컬럼의 이름을 작성해서 쿼리문을 날리려 했는데,
    이렇게 되면 DB에서 해당 컬럼을 찾지 못하게 되어 에러가 발생한다.
  • 코드를 작성하다보면 대소문자 하나로 에러가 나서 한 두시간씩을 헤매이는 경험을 하곤 하는데,
    이번 기회에 확실하게 정리할 필요성을 느껴서 정리해보도록 한다.

Camel Case

  • 어디서 사용하는가?
    • 내가 익숙한 자바 언어에서 많이 사용
    • 프로그래밍언어를 자바를 통해 접했기 때문에 가장 친숙
    • 가장 잘 아는 것이기에 자세한 것은 생략.

GuestBook
programmingBook

Snake Case

  • 대소문자 구분안하고, 단어와 단어 사이에서 “_”(언더스코어)로 구분한다.
  • 예를들면 아래와 같다.

my_funny_valentine
MY_FUNNY_VALNETINE

중요한 것은?

  • 개념은 간단하다.
  • 중요한 것은 해당 컨벤션이 어디에서 어떻게 사용되느냐다.
  • 구글링을 해보면 알겠지만, 컨벤션이란 것은 어떤 진리라기보다는 사람들이 많이 사용하기에 관용적으로 굳어진 무엇으로 보인다.
    외국 사이트를 검색해봐도 이렇게 써라라고 단언하기보다는 취향이다 라는 뉘앙스로 작성하는 것이 눈에 띈다.

진리는 없다. 다만 다수에 따를 뿐. 어차피 소통이 목적이기에.

  • 어차피 관용적으로 굳혀져있고 대부분이 그렇게 사용하는 것이라면 따르는 것이 여러모로 편할터.
  • DB를 접근하거나 만들거나 아무튼.. DB에 관한 한 아래의 관용을 따르는 것이 좋을 것으로 사려된다.
  • 간단히 정리하자면 다음과 같다.

테이블 명은 단수
컬럼명도 단수
upper Camel Case

참고

Database, Table and Column Naming Conventions?

profile
고민하고 공부하는 사람

0개의 댓글