본문 바로가기
CS

[CS] 개발 표기법 정리

by nozee 2020. 9. 2.
반응형

표기법에 대해서 접한 것은 대학생 때 처음 접하게 되었다. 그 당시에는 표기법에 큰 의미를 두지 않았었지만 지금은 굉장히 중요하다는 것을 느끼고 있다.

 

표기법을 잘 사용하느냐 안하느냐에 따라 소스의 깔끔함이 증가해서 보기가 좋다. 소스에 보기 좋음 뿐만 아니라 다른 회사와 연동을 하는 상황이 되었을 때에도 변수 정의가 용의하게 된다.

 

우리 회사 같은 경우 client단과 소통할 일이 많기 때문에 안지켜주게 되면 오류가 생기게 된다.

 

이제 표기법에 대해서 살펴 보자.

Camel Case

자바에서 가장 많이 쓰이는 케이스라고 볼 수 있다. 낙타 등같이 생겼다고 해서 Camel Case라고 이름이 붙었으며, 현업에서 낙타등법 또는 카멜케이스라고 불리운다. 사용 방법은 단어의 첫번째 알파벳을 대문자로 지정하는 것이다. 하지만 Camel case 같은 경우 Upper, Lower 두가지 케이스로 나뉘게 되는데 Lower Camel Case 같은 경우에는 제일 먼저 오는 단어의 첫번째 알파벳은 대문자로 지정하지 않는다. 

 

- Upper Camel Case

 ex) SaleDate, ShopCode, NationalGeographic ...

Upper Camel Case 같은 경우에 자바에서 클래스, 메소드 명칭에 사용하게 된다. TestSource.class  이런식으로 명칭을 지정을 하게 된다. 다른 단어로는 Pascal Case라고 불리기도 한다.

 

- Lower Camel Case

 ex) saleDate, shopCode, nationalGeographic ...

Lower Camel Case 같은 경우 자바 변수 명칭으로 많이 사용하게 된다. 

 

- Hungarian Notation

 ex) iNumber, strSaleDate, sShopCode

Camel Case의 응용으로 Hungarian Notation도 있다. 선언된 변수의 타입을 앞에 붙이게 되는데 String 변수를 사용할 경우 String의 s를 붙이는 경우도 있고 줄임말인 str을 붙이는 경우도 있다. 요즘에는 잘 안쓰긴 하지만 간혹 쓰는 곳이 있으니 알아두면 좋을 것 같다.

 

SNAKE_CASE

 ex) SALE_DATE, SHOP_CODE, USER_ID ...

데이터 베이스에서 많이쓰는 케이스며 테이블명, 컬럼명을 지을 때 많이 사용한다. 요즘 Mybatis, JPA를 연결 할 시에는 Camel Case로 변환해서 사용하는 경우가 많이 있다. 점점 자바는 Camel Case, 데이터베이스는 Snake Case로 가는 느낌이다.

 

Kebab-Case

 ex) sale-date, shop-code, w-100 ...

케밥 케이스는 html, css, script에서 많이 쓰는 케이스다. Case Style이라고도 불리우며 주로 앞단에서 많이 사용한다. 

 

 

마무리

개발을 하면서 짜증나는 순간 중 하나가 정리가 안된 소스를 보는 것이라고 생각한다. 가끔 내가 짠 소스가 아닌 소스를 수정을 할 때 정리가 안되어 있는 경우 소스 정리부터 시작을 하게 되는 경우도 있는데 굉장히 시간이 소요가 된다. 그때마다 드는 생각이 처음부터 잘짜여져 있었다면 좋지 않았을까... 라는 생각을 하게 된다.

흔히 가독성이 좋은 소스, 안좋은 소스라고 불리우며 한눈에 보기에도 깔끔하고 로직을 따라가는데도 문제가 없다고 생각하는게 가독성이 좋은 소스라고 생각한다. 가독성 좋은 소스가 되기 위한 첫걸음은 규칙을 정하여 잘 지키는 것이라고 생각한다. 규칙을 정할 때 다음과 같은 케이스들을 많이 이야기 하게 되는데 아직 잘 모르는 사람이 있어 이번에 정리를 하게 되었다.

반응형

'CS' 카테고리의 다른 글

[CS] CORS는 무엇일까?  (0) 2024.12.26
[CS] Test Double  (0) 2024.12.19
[OAUTH] OAuth 2.1  (2) 2024.12.14
[CS] JOSE  (1) 2024.12.11
[CS] Server & Client  (0) 2020.08.13