개발/기타

Camel Case와 Snake Case

윤맹맹 2023. 4. 21. 15:30
반응형

 

Camel case

 

카멜 케이스(Camel case)는 프로그래밍에서 변수나 함수의 이름을 지을 때 사용되는 명명 규칙 중 하나입니다. 카멜 케이스는 다른 명명 규칙과 다르게 단어의 첫 글자를 대문자로 쓰는 방식으로 변수나 함수의 이름을 지정합니다.

예를 들어, "firstName", "lastName", "isMale"와 같은 변수나 함수의 이름이 카멜 케이스에 해당합니다. 

 

Snake case

 

스네이크 케이스(Snake case)는 프로그래밍에서 변수나 함수의 이름을 지을 때 사용되는 명명 규칙 중 하나입니다. Snake case는 카멜 케이스와 달리 단어와 단어 사이를 언더스코어(_)로 구분하는 방식으로 변수나 함수의 이름을 지정합니다.

예를 들어, "first_name", "last_name", "is_male"과 같은 변수나 함수의 이름이 snake case에 해당합니다.

 

Camel case나 Snake case를 그러면 왜 사용할까요?

 

그 이유는 다음과 같습니다.

  • 가독성: 카멜 케이스는 단어와 단어 사이를 구분하기 쉽기 때문에 변수나 함수의 이름을 읽을 때 가독성이 좋습니다.
  • 일관성: 카멜 케이스는 많은 개발자들이 사용하는 명명 규칙 중 하나이기 때문에 다른 개발자와 협업할 때 일관성을 유지할 수 있습니다.
  • 효율성: 카멜 케이스는 긴 이름을 간결하게 표현할 수 있기 때문에 변수나 함수의 이름을 작성하는데 효율적입니다.
  • 언어의 제약: 몇몇 프로그래밍 언어에서는 카멜 케이스를 강제로 사용하도록 규정하고 있습니다. 

 

이러한 언어에서는 카멜 케이스를 사용함으로써 일관성을 유지하고, 코드를 작성할 때 언어의 제약을 준수할 수 있습니다.

따라서, 변수나 함수의 이름을 작성할 때 카멜 케이스를 사용하는 것은 가독성과 일관성을 유지할 수 있으며, 코드 작성에 있어서 효율적이고 언어의 제약을 준수하는 데 도움이 됩니다.

 

각종 명명규칙을 권장하는 언어가 있다고 하는데 그러면 어떤 프로그래밍 언어에서 명명규칙을 사용할까요?

 

다음은 camel case를 사용하는 대표적인 프로그래밍 언어입니다.

 

  1. Java: Java는 변수와 함수 이름을 camel case로 작성하는 것을 권장합니다. Java Naming Conventions에서는 변수와 함수 이름의 첫 글자는 소문자로 작성하고, 이후 단어의 첫 글자는 대문자로 작성하여 camel case를 사용하도록 권장하고 있습니다.
  2. JavaScript: JavaScript도 변수와 함수 이름을 camel case로 작성하는 것을 권장합니다. JavaScript Naming Conventions에서는 변수와 함수 이름의 첫 글자는 소문자로 작성하고, 이후 단어의 첫 글자는 대문자로 작성하여 camel case를 사용하도록 권장하고 있습니다.
  3. C#: C#은 변수와 함수 이름을 camel case로 작성하는 것을 권장합니다. C# Naming Guidelines에서는 변수와 함수 이름의 첫 글자는 소문자로 작성하고, 이후 단어의 첫 글자는 대문자로 작성하여 camel case를 사용하도록 권장하고 있습니다.
  4. Swift: Swift도 변수와 함수 이름을 camel case로 작성하는 것을 권장합니다. Swift Naming Conventions에서는 변수와 함수 이름의 첫 글자는 소문자로 작성하고, 이후 단어의 첫 글자는 대문자로 작성하여 camel case를 사용하도록 권장하고 있습니다.

 

다음은 snake case를 사용하는 대표적인 프로그래밍 언어입니다.

 

  1. Python: Python은 변수와 함수 이름을 snake case로 작성하는 것을 권장합니다. PEP 8에서는 변수와 함수 이름을 모두 소문자로 작성하고, 단어 사이를 언더스코어(_)로 구분하는 snake case를 권장합니다.
  2. Ruby: Ruby도 변수와 함수 이름을 snake case로 작성하는 것을 권장합니다. Ruby 스타일 가이드에서는 변수와 함수 이름을 모두 소문자로 작성하고, 단어 사이를 언더스코어(_)로 구분하는 snake case를 권장합니다.
  3. Rust: Rust는 변수와 함수 이름을 snake case로 작성하는 것을 강제로 요구합니다. Rust 스타일 가이드에서는 변수와 함수 이름을 모두 소문자로 작성하고, 단어 사이를 언더스코어(_)로 구분하는 snake case를 강제로 사용하도록 규정하고 있습니다.
  4. Go: Go는 변수와 함수 이름을 카멜 케이스 대신 snake case로 작성하는 것을 권장합니다. Go 스타일 가이드에서는 변수와 함수 이름을 모두 소문자로 작성하고, 단어 사이를 언더스코어(_)로 구분하는 snake case를 권장합니다.

 

그러면 Java에서 Snake case를 사용하거나, Python에서 Camel case를 사용하면 안되는 걸까요?

 

문법적 오류가 발생하지는 않습니다.

 

그러나 위의 명명규칙은 이미 여러 개발자들 사이에서 약속이 되어있고, 이미 그러한 규칙을 지킨 코드들이 널리 퍼져있는 공통적인 약속같은 겁니다.

 

예를 들어 우리나라에서 사람의 이름을 지을 때, 성과 이름으로 이름을 구성합니다.

홍 길동이 우리나라에서의 일반적인 명명방식인데,

 

네덜란드에서는 이름을 지을 때 성,  중간이름, 이름 으로 구성 되어 있습니다.

귀도 반 로섬이 네덜란드의 명명방식 입니다.

 

우리나라에서 이름을 지을때 갑자기 중간이름을 포함해서 

홍길동을 너는 홍 폰 길동이야 라고 지으면 이름이 안되지는 않지만 우리나라의 일반적인 정서에는 맞지 않는 것 처럼

 

각 프로그래밍 언어에서도 지켜야 할 명명규칙을 준수해야합니다!

반응형