7월, 2015의 게시물 표시

네이밍, 이름짓기

단어선택의 문제가 아니다. 어떤 단어(용어)를 사용할지는 정하기만 하면 문제가 안된다. 네이밍과 관련된 문제는 다른데서 발생한다. 바로 혼란스러움이다. 혼란을 만드는 경우는 두가지가 있다. 첫번째는 줄임말, 두번째는 대소문자이다. 1. 줄임말 vld로 할지 valid로 할지 정해야 한다. 이것은 프로젝트 전반에 줄임말을 허용할지 말지의 문제이다. 허용한다면 사용가능한 줄임말을 명확하게 정해야 한다. 줄임말은 최소한으로 사용하는게 좋다. vld가 당장은 문제가 없어 보이지만 invalid라는 단어가 추가되었을 경우 어떻게 할것인가? vld와 invalid라는 단어가 공존하는 순간 혼란은 시작된다. 2. 대소문자 username으로 할지 userName으로 할지 정해야 한다. DB의 컬럼명이 USERNAME이라면 변수명도 username이라야 한다. 컬럼명이 USER_NAME이라면 변수명은 userName이라야 헤깔리지 않는다. 그렇다면 unserscore 또는 대문자를 언제 사용해야 할까? 그것도 정해야 한다. 결국  일관성 이다. 이름짓기는 일관된 규칙이 있어야 한다. 일관성을 위해 prefix 또는 suffix를 사용하는 것은 좋은 아이디어다. 하지만 남용하면 안된다. 필요한 곳에 써야 한다. 일관성은 팀단위가 될수도 있고 프로젝트 단위가 될수도 있다. 그 범위 안에서 지켜져야 한다. 예외는 없어야 한다. 예외가 발생하는 순간 혼란이 시작된다. 만약 예외가 생겼다면 그 예외 조차도 일관성이 있어야 한다. 적절한 네이밍인지 여부는 시간이 지나야 알수 있다. 로직을 개선하듯이 네이밍도 꾸준히 개선되어야 한다.