////
Search
Duplicate
1️⃣

1. 네이밍 컨벤션, 이유를 알고 쓰자

개발자의 가장 큰 고민은 이름 짓기

: 비슷한 이름을 클래스에도 쓰고 변수에도 쓰면 헷갈린다.
: HTML에서도 모든 섹션을 div 태그로만 만들어 놓으면 어디가 메뉴고 어디가 본문인지 알 수가 없다.
이렇듯 이름 짓기가 어렵긴 하지만 잘만 한다면 코드를 짜기도 쉽고 이해하기도 쉬워진다. 물론 다른 개발자와 소통도 쉬워지는 건 덤
: 막상 함수 이름을 지으려고하면 어디서부터 해야할 지 막막하다.

이름 짓기는 창조가 아니라 조합

: 이름 짓기는 무에서 유를 창조하는 것이 아니다. 기존 방식이나 이름을 차용하여 새로운 이름을 짓는 것이 대부분이다.
: 이름 짓기는 창조가 아닌 정해진 원칙으로 적절한 단어를 선택해 조합하는 과정일 뿐이다.
자바 네이밍 컨벤션을 철저히 준수한다.
클래스는 PascalCase, 함수와 변수는 CamelCase, 상수는 UPPER_DELIMITER_CASE
네이밍은 보통 16글자, 3단어를 조합한다.
클래스는 3.18단어, 함수는 3.36 단어, 변수는 2.57단어
품사는 주로 명사, 동사, 형용사의 조합이다.
명사 + 명사 + 명사, 동사 + 명사 + 명사, 형용사 + 명사 + 명사 등

코드의 네이밍 컨벤션은 영어 표기법을 상속받았다.

: 네이밍 컨벤션은 기본적으로 영어의 표기법을 준수한다. 그렇기 때문에 영어 표기법을 이해하면 네이밍 컨벤션도 이해할 수 있다.
대표적 영어의 표기법 몇가지
고유 명사는 문장 어느 위치에 오든 첫 글자를 대문자로 쓴다.
I went to Tokyo
이름 앞에 오는 직합은 첫 글자를 대문자로 쓴다.
Doctor Mr. Micheal
책, 신문, 잡지, 음악, 영화 등의 제목에 나오는 첫 단어와 마지막 단어의 첫 글자와 관사는 대문자를 쓴다.
Marvel’s The Avengers
출판물의 일부와 관련한 명사 다음에 숫자가 올 때, 명사의 첫 글자를 대문자로 쓴다.
Section 2
요일명, 휴일명, 달, 역사적 사건, 역사적 기간은 첫 글자를 모두 대문자로 쓴다.
World War ll
천체의 이름은 첫 글자를 대문자로 쓴다.
It is the Mars
위를 참고해보면 몇가지 공통점이 있다.
1.
중요하거나 크거나 특정한 것을 가리키거나 제목에 해당하는 명사는 모두 첫 글자를 대문자로 쓴다.
2.
그런 명사들이 이어질 때는 첫 글자를 모두 대문자로 쓴다.
3.
명사나 관사가 아닌 동사, 형용사 등은 소문자를 쓴다.

파스칼 표기법으로 클래스 이름 짓기

파스칼 표기법은 모든 단어에서 첫 글자를 대문자로 쓰는 방식이다.
클래스가 프로그래밍에서 가장 주요하고 높은 위치에 있고, 고유명사처럼 특징되며, 명사로 돼 있기 때문이다.

카멜 표기법으로 함수, 변수의 이름 짓기

카멜 표기법은 첫 단어를 빼고 나머지 단어의 첫 번째 글자만 대문자로 쓴다. 주로 함수나 변수에 사용한다.
함수는 동작을 시키는 명령어 개념으로 첫 단어가 주로 동사이다.
변수는 형용사로 시작하는 경우도 많다.

상수는 모두 대문자로 쓴다.

프로그래밍할 때는 소문자를 쓰는 변수와 구별하기 위해 상수를 모두 대문자로 쓰고 언더스코어(_)로 단어를 연결한다.
상수는 값이 변해서는 안된다는 점을 강조하고 주의시키기 위해 가독성을 높이는 방법으로 대문자를 선택한 것이다.

패키지와 모듈은 모두 소문자로 쓴다.

패키지 이름과 모듈 이름은 당연히 대문자로 써야 할 것 같지만 클래스를 모으거나 함수를 담아놓은 통에 불과하다.
또한 패키지 이름과 클래스 이름을 혼동할 수 있고, 모듈 이름과 함수 이름을 헷갈릴 수 있기 때문이다.

BEM 표기법

CSS에서 사용하는 BEM 표기법은 '대상--요소__상태'를 의미한다.
대상의 요소나 부분을 의미할 때는 언더스코어 두 개(__)로 연결한다.
대상이나 요소의 상태나 속성을 의미할 때는 하이픈 두 개(--)로 연결한다.
.form { } .form_button { } .form_button--disabled { }
CSS
복사

가독성과 소통이 먼저다.

중요한 것은 표기법 자체가 아니라 그렇게 쓰는 이유다.
코드를 읽기 쉽게 만들고 다른 개발자와 소통하기 위해서다.
가독성이 높다고 소통이 더 잘되는 것은 아니다. 소통이 잘 되려면 서로가 같은 컨벤션을 지켜야 한다.