Naver Engineering - 영어 변수명을 잘 지어보자
야곰 아카데미를 졸업하고 2주 정도 알고리즘 문제를 풀면서 고민이 생겼습니다.
바로 코드의 이름과 더불어 가독성을 신경쓰지 않은 것 입니다.
알고리즘 문제풀이는 특정 기능을 제한 시간 내에 만들어야 하는 특징이 있습니다.
그래서 자연스럽게 문제를 풀다보면 코드의 이름에 고민을 하기보다 문제를 어떻게 풀 수 있는지 주로 고민하며, 알고리즘 문제풀이 특유의 문화(?) 중 하나가 코드 라인의 수를 줄이는 것인데 조금은 강박적으로 코드 라인을 줄이려다 가독성을 잃어버린 경우도 있었습니다.
이 문제점을 가장 크게 느낀 것은 졸업하자 마자 야곰 아카데미에서 진행했던 프로젝트를 다시 처음부터 진행했다가, 다른 공부를 하면서 일주일만에 프로젝트를 보았을 때 '이게 무슨 코드지?' 라는 생각이 들면서 읽기 쉬운 코드에 대한 고민을 시작했습니다.
그래서 네이버 엔지니어링의 '영어 변수명을 잘 지어보자' 영상을 참고했습니다.
잘 지은 이름과 코드의 규칙(컨벤션)
우리가 일상에서 사용하는 언어는 한국어인데 코딩은 영어로 작성됩니다.
한국인에게 코딩은 숨쉬듯 자연스러운 영어능력이 없다면 한번인 인, 디코딩이 필요한 고통스러운 과정입니다.
그래서 기왕 작성하는 영어는 최대한 쉽고 간편하게 사용해야 합니다.
수능 영어 지문과 같은 복잡한 영어를 사용해 코드를 작성하거나, 목적에 맞지 않은 문법으로 이름으로 이름을 짓는다면 코드를 해석하는데 큰 비용을 지불해야 할 것입니다.
(생각없는 인코딩은 복잡한 디코딩을 반환합니다, 반대로 생각 많은 인코딩은 쉽고 빠른 디코딩을 반환하고요.)
코드의 규칙은 개발 코드 언어의 규칙을 의미하는 것이 아니라, 양식같은 것 입니다.
프로그램을 소설이라고 말하면 작가마다 특유의 문체가 있는데 그러한 문체를 코드의 규칙(컨벤션)이라고 말할 수 있습니다.
만약 코드를 작성할 때 마다, 혹은 각 타입 및 함수마다 다른 컨벤션을 사용한다면 어떻게 될까요?
그러면 두 가지 요소인 잘 지은 이름과 코드의 규칙이 잘 지켜진다면 읽기 쉬운 코드가 될 수 있을까요?
방법은 계속 고민하는 것
잘 지은 이름과 컨벤션은 주관의 영역이라 생각할 수 있지만 Swift언어를 기준으로 말씀드리면, 공식문서를 자세히 보면 일정한 규칙이 있습니다. 이름을 짓는 규칙과 코드를 사용하는 컨벤션이 존재합니다. 한번 찾아보고 고민해보는게 좋을 것 같습니다.
위에 링크로 첨부한 영상의 경우 공식문서를 기반으로 코드 컨벤션에 대한 깊은 고민을 만나볼 수 있습니다. 좋은 강의 준비해주신 노수진님과 강의 공유해주신 네이버 엔지니어링에게 감사합니다.
'기타' 카테고리의 다른 글
디지털 트윈 (0) | 2023.06.26 |
---|---|
[모니터 리뷰] 삼성 스마트 모니터 M7 S43AM700 (0) | 2022.02.18 |
함수형 프로그래밍 (0) | 2021.12.22 |