더 나은 네이밍을 위한 가이드라인 (CSS-Tricks)

Source

  • Evernote/Technote scraps/Working Towards Better Naming CSS-Tricks.md

Summary

이 문서는 코드베이스의 가독성과 유지보수성을 높이기 위한 네이밍의 중요성과 구체적인 개선 사례를 다룹니다. 저자는 네이밍이 단순한 형식이 아니라 코드 이해의 핵심임을 강조하며, JavaScript, HTML, 데이터베이스 등 다양한 맥락에서 ‘나쁜 네이밍’의 예시와 이를 개선한 ‘좋은 네이밍’을 비교 분석합니다. 핵심 원칙은 다음과 같습니다: 1) 함수 및 변수명은 수행하는 동작이나 데이터의 의미를 명확히 설명해야 하며, processData 같은 모호한 이름 대신 parseJson처럼 구체적으로 명명해야 합니다. 2) 약어와 축약어는 개발자 본인에게는 편리할 수 있으나, 다른 기여자에게는 학습 곡선을 높이고 오해를 불러일으킬 수 있으므로(cts, ack 등), 가능한 한 풀어서 작성해야 합니다. 3) HTML 클래스명은 콘텐츠의 일시적 상태(new)나 시각적 속성(logo)보다는 역할(promotion-branding-image)이나 구조적 의미를 반영해야 하며, 콘텐츠 변경 시 이름이 무의미해지지 않도록 추상화해야 합니다. 4) 데이터베이스 컬럼명은 type, sort처럼 맥락에 따라 해석이 달라질 수 있는 모호한 이름 대신, 그 의미를 명확히 하는 이름을 사용해야 합니다.

Key Points

  • 네이밍은 코드의 가독성과 오류 방지에 필수적이며, 초기 개발 시 편의를 위해 모호하게 작성된 이름은 나중에 반드시 수정해야 합니다.
  • 함수/변수명은 동작이나 데이터의 본질을 설명해야 하며, processDataparseJson처럼 구체화하는 것이 좋습니다.
  • 약어(Acronym)는 문맥에 따라 오해의 소지가 크므로(cts, con), 가독성을 위해 풀어서 작성하는 것이 장기적으로 효율적입니다.
  • HTML 클래스명은 시각적 속성이나 일시적 상태(new, logo)보다는 역할(Role)이나 의미적 구조(promotion-branding-image)를 반영해야 합니다.
  • 데이터베이스 컬럼명은 type, sort처럼 맥락 의존적인 모호한 이름 대신, 의도가 명확한 이름을 사용해야 합니다.