저번에 예고했던 대로 변수와 함수 이름을 짓는 법을 소개하는 것으로 이번 글을 시작하도록 하겠다.
변수 이름 짓기
우리는 흔히 반복문이나 배열 인덱스에 i라는 변수를 자주 사용한다.
이는 integer나 index의 첫 글자로 간주되므로 이상할 것이 없다.
하지만, d라는 변수가 있다면 해당 코드를 읽는 사람은 어떻게 받아들여야 할까?
day? double? date? 책에서 소개하길 일자를 뜻하는 변수를 설정하고 싶다면 그냥 day를 사용하면 된다.
하지만, 우리가 어떤 프로그램이던 그냥 day란 없을 것이다.
today? selectedDay? finalDay? 등 특정한 의미를 부여해 사용해야 한다.
변수 이름을 지을 때 고려할 또 하나의 척도가 있다.
바로, 검색이 용이한 이름이다.
IDE가 발전하기 전에는 변수명을 줄이기 위해 헝가리안 표기법이 유익했지만
이젠 IDE의 검색 기능이 많이 좋아졌기 때문에 해당 표기법은 레거시가 되었다.
이젠 Microsoft의 .NET General Naming Conventions에서도 사용하지 말 것을 권장하고 있다.
그래서 자바 네이밍 컨벤션을 따라 이름을 지으면 된다.
또한 검색이 잘 되기 위해서는 중요한 단어를 앞에 적는 것도 하나의 방법이다.
예를 들어, 안드로이드 xml 속성에도 드러나 있듯이 LinearLayout의 weight값의 합에 대한 속성이 있다.
다들 예측하건대 weightSum, weightTotal 등의 단어를 떠올리지 않았을까 싶다.
sumWeight, totalWeight 처럼 검색이 잘 되지 않는 이름을 사용하지 않는다.
합이라는 것은 어떤 변수에나 있을 수 있지만 weight는 고유(?)하기 때문이다.
함수 이름 짓기
함수는 시스템이 할 일을 나타내는 것이다.
따라서, 정관사나 불필요한 단어를 제거하고 소유격 등을 제거한다.
주석에 관하여
위에서 설명한 것들은 사실 주석이 없이도 코드를 읽기 좋도록 만들고 싶은 개발자의 마음이 담긴 내용이다.
하지만, 주석은 필연적으로 존재해야 한다.
예를 들어, 너무 정확한 상황과 동작을 함수명으로 사용하려다보면 함수명이 지저분해져 가독성이 떨어진다.
코드는 의미를 전달하면 되고, 주석은 그 의도를 전달하면 된다.
주석으로 의도를 전달하는 이유는 다른 개발자를 위한 것이다.
코드를 작성한 이유를 설명하고, 다른 의견을 제시하기도 한다.
'주저리주저리' 카테고리의 다른 글
개발자의 글쓰기를 읽고 나서(完) (0) | 2023.08.23 |
---|---|
개발자의 글쓰기를 읽고 나서(3) (0) | 2023.08.18 |
디지털 세계에서 아날로그의 중요성 (0) | 2023.08.10 |
개발자의 글쓰기를 읽고 나서(1) (0) | 2023.08.06 |
개발자 글쓰기의 중요성 (0) | 2023.06.27 |