일반 회화 영어와 코딩 실무 영어는 또 다르다!!

이번 시간에는camelCase 와 snake_case 에 대해 알아보도록 하겠습니다.
실력있는 개발자와 초보 개발자는 이름짓기 실력부터 차이 나는데, 실력있는 개발자는 일관된 규칙으로 이름을 지으려는 대상의 특징을 잘 간추려서 이름이 너무 길지도 짧지도 않게 멋진 이름을 만듭니다.
// Bad
const toggle = () => {};
// Good
const toggleCountrySelector = () => {};
하지만, 초보 개발자는 네이밍에 일관된 규칙 없이 가독성이 떨어지는 이름을 아무렇게나 짓습니다. 현업에 최적화된 프로그래밍을 위해서는 이름짓기부터 제대로 마스터해야 합니다.
// Bad Variable Names to Avoid
// Avoid Single Letter Names
let n = 'use name instead'
// Avoid Acronyms
let cra = 'no clue what this is'
// Avoid Abbreviations
let cat = 'cat or category??'
// Avoid Meaningless Names
let foo = 'what if foo??'
변수명이나 함수명들은 전부 영어로 작성하곤 하는데, 영어로 작성하는 네이밍 방식에는 전세계적으로 통용되는 관습, 즉 네이밍 컨벤션이 있습니다. 어떤 상황에 사용되는지 알아야 글로벌 IT 생태계에서 조금 더 매끄럽게 의사소통할 수 있습니다.
예를 들어보겠습니다.
"1일 시간 제한" 이라는 변수를 선언하려면 어떻게 해야할까요? Daily Time Limit 이라고 하면 될까요? 대부분의 프로그래밍 언어에서는 변수명의 공백을 허용하지 않기 때문에, 단어를 띄어쓰면 단어별로 다른 변수로 인식합니다. 그렇다면, 이 단어들을 합쳐야 하는데, 합치는 방식에 따라 네이밍 컨벤션이 달라집니다. 주로 대소문자로 띄어쓰기를 구분하거나 띄어쓰기 사이에 특수문자를 넣습니다.
아래 4가지 네이밍 컨벤션이 프로그래밍과 IT 업계 전반에 등장하는 가장 대중적인 네이밍 컨벤션들인데요, 각각 네이밍 컨벤션들은 고유한 이름을 가지고 있습니다.
1. camelCase(캐멀케이스)
: camelCase는 첫 번째 단어는 소문자로, 나머지 단어는 첫글자를 대문자로 표기하는 방식입니다. 마치 울룩불룩하게 단어가 붙은 모양이 낙타의 혹처럼 생겨서 낙타를 의미하는 'camel'과 활자 표기를 의미하는 'Case'가 만나 "캐멀케이스"라는 명칭이 탄생한 것입니다.
일반적으로 "캐멀케이스" 는 첫 번째 글자를 소문자로 하는 lower camelCase 를 칭합니다.
"캐멀케이스"는 주로 변수와 함수 명명에 사용되는데, 주로라고 말한 것처럼 프로그래밍 언어마다 관습이 다를 수 있습니다. 대표적으로 파이썬은 변수와 함수 이름을 명명할 때 띄어쓰기를 밑줄로 대체합니다. 하지만, 다수의 프로그래밍 언어에서는 "캐멀케이스"를 활용해 변수와 함수의 이름을 짓습니다.
(ex) fullName, expireAt, getVideo, setCurrentTime, geekHaus, dailyTimeLimit, shoppingList
2. PascalCase(파스칼 케이스)
: PascalCase 는 모든 단어의 첫 글자를 대문자로 합치는 방식입니다. 엄밀히 말하자면, 대문자를 뜻하는 upper case 와 camel case를 합쳐서 upper camel case 라고 하지만, 대부분 "파스칼 케이스" 라고 합니다.
이 "파스칼 케이스"는 프로그래밍 언어 중 하나인 파스칼과 함께 대중화돼서 이런 이름이 생겼다는 설이 있는데, 공식적인 이야기는 아닙니다. "파스칼 케이스"는 주로 클래스 및 컴포넌트 명명에 사용되는데, 이 역시 언어에 따라 달라질 수 있습니다.
(ex) class SpecialEdition, class. imgaeView, SignUpModel, GeekHaus, DailyTimeLimit, ShoppingList
3. snake_case(스네이크 케이스)
: snake_case 는 띄어쓰기와 공백을 밑줄로 대체하는 방식입니다. 밑줄은 underscore 라고 배웠는데, 띄어쓰기 부분이 이 underscore로 대체가 됩니다. 변수모양이 기어가는 뱀처럼 생겨서 snake_case 라는 이름을 갖게 되었는데, python 은 변수나 함수명으로 이 snake_case 를 사용하고 모든 문자를 소문자로 사용하는 것을 권장합니다. (공식 문서에서는 should be 라는 표현까지 사용했으니, 사실 권장 수준이 아니라 snake_case 로 쓰라는 정도입니다.)
snake_case 는 파이썬 뿐만 아니라 파일명을 몀명하거나 전역 상수의 이름을 짓는 경우에도 자주 사용됩니다.
(ex) def get_user, max_order, min_order
4. kebab-case(케밥 케이스)
: kebab-case 는 띄어쓰기 공백을 하이픈(hyphen)으로 대체하는 방식입니다. 단어가 하이픈으로 연결된 모양이 마치 고기가 꼬치에 꽂혀있는 케밥처럼 생겼다고 해서 "케밥 케이스" 라는 이름을 갖게 되었습니다.
이 "케밥 케이스"는 웹주소를 표현하는 URL 이나 웹사이트를 시각적으로 꾸미는 CSS에서 식별자나 속성명을, HTTP 통신에서 추가적인 데이터를 전달하는 HTTP 헤더, 라이브러리나 패키지명에 주로 사용됩니다. 이 외에도, React Native 와 같은 패키지명의 공백은 하이픈으로 대체되곤 합니다.
(ex)
URL : www.geekhaus.club/learin-it-enough
CSS : footer again(margin-bottomm: 10x )
HTTP 헤더 : Content-Type : multi/form-data;
Package : npm install react-native
지금까지 프로그래밍 필수 네이밍 컨벤션들을 함께 살펴보았는데요, 이미 익숙한 내용이겠지만, 각 네이밍 컨벤션들이 어떤 명칭인지 명확히 알고 있어야 기술 문서를 읽거나 영어로 기술 토론을 할 때 수월하게 소통할 수 있습니다
'컴퓨터 공부 > 🔤 코딩 실무 영어' 카테고리의 다른 글
[코딩 실무 영어] IT 실무 필수 전치사 - part 2 (0) | 2025.02.12 |
---|---|
[코딩 실무 영어] IT 실무 필수 영단어 - part 1 (0) | 2025.02.11 |
[코딩 실무 영어] (), {}, [], ~, *, # 영어로 표현하실 수 있나요? (2) | 2024.08.27 |
[코딩 실무 영어] 한국인들이 영어를 어려워하는 이유 / 실무 전문 용어 (0) | 2023.10.06 |
[코딩 실무 영어] 코딩 영어 따로 왜 배워? (2) | 2023.10.05 |