프로그래밍은 사회 활동이다.
프로그래머가 가장 힘들어 하는일이 무엇일까?
그렇다. 네이밍이다. 그만큼 프로그래밍에서 네이밍이 얼마나 중요한 부분을 차지하는지 짐작할 수 있다.
글에서도 밝히듯이 프로그래밍은 사회 활동이다. 대부분의 개발자는 혼자 코딩하지 않고, 협업한다. 자신만이 알 수 있고 읽기 편한 코드는 일의 효율을 해치고 협업에 도움이 되지 않는다.
토스 | SLASH 21 - 실무에서 바로 쓰는 Frontend Clean Code
네이밍으로 한글을 거부하는 개발자도 많다. 하지만 컴파일 상에 문제가 없다면, 복잡한 영어 네이밍을 구상하는 것보다 한글 네이밍이 더욱 직관적이고 사용하기 쉽다는 것을 알 수 있다.
또한, 한글을 외국어로 표현했을 때, 읽기 힘들거나 어색한 표현이 있다. 예를 들어 부동산 앱에서 전세 임차 보증금을 변수로 저장한다면 영어 표현은 한글로 작성한 표현 보다 가독성이 떨어진다.
const 전세임차보증금 = money;
const depositForLease = money; // GPT
현대의 라이브러리들은 명명 규칙을 몇 가지 권장한다. 가령 필자가 발 담고 있는 프런트엔드 라이브러리인 React에서도 다음과 같은 관례가 있다.
const [state, setState] = useState()
// 훅은 use라는 prefix로 시작한다.
// useState는 배열을 반환하는 데 두번째 인자인 setter는 첫 번째 인자인 상태 이름 앞에 set을 붙여 사용한다.
const HelloComponent = ()=><h1>hello </h1>
// 컴포넌트 이름은 대문자로 시작한다.
이렇듯 네이밍과 관련된 관례는 해당 라이브러리로 작업하는 개발자들과의 약속이다. 이러한 네이밍 컨벤션은 독자로 하여금 자신의 코드를 훨씬 파악하기 쉽게 하는 역할을 한다.
필자도 네이밍에 신경 쓴다 하지만, 잘 챙기지 못하는 부분이 많다. 2 장에서 언급하듯, 맥락에 따라 변수, 함수, 클래스에 동일한 단어를 사용하는 습관이 필요할 것 같다.
다른 분들이 네이밍 컨벤션으로 접했던 신기했던 사례나 중요하다 느낀 사례가 궁금합니다!