하나 이상의 영어 단어로 구성된 식별자를 만들 때 단어를 한눈에 구분하기 위해서 규정한 명명 규칙이다. 대표적으로 카멜 케이스, 파스칼 케이스, 스네이크 케이스, 케밥 케이스, 헝가리안 케이스 등이 있다. 네이밍 컨벤션을 잘 지키면 가독성이 좋아지고 식별자의 역할도 명확하게 알 수 있다.
BEM(Block-Element-Modifier)은 CSS 클래스 이름을 위해 규정한 명명 규칙이다. BEM 목적 또는 기능, 그리고 구성 요소의 구조를 전달해주는 작성법이다. Block, Element, Modifier를 각각 __와 --로 구분한다.
.form {}
.form__button {}
.form__button--disabled {}
블록(Block): 재사용 가능한 기능적으로 독립적인 페이지 컴포넌트. 구성 요소의 가장 바깥쪽 상위 요소를 블록으로 정의.
요소(Element): 블럭을 구성하는 단위. 블록과 달리 독립적이지 않고 자신이 속한 블럭 내에서만 의미를 가지기 때문에 의존적인 형태.
변경자(Modifier): 블럭이나 엘리먼트의 속성. 블록 또는 요소는 변경자를 이용하여 변형을 표시할 수 있음.