좋은 코드를 알아보는 눈 훈련법
우리는 주변 사람의 말투를 닮는다.
말투는 주변 사람을 닮는다. 사투리가 강한 지역으로 이사를 가면, 어느새 그 지역 사투리에 녹아든 어조와 표현법을 닮게된다. 사투리 뿐일까. 종국에는 사투리를 넘어 그 지역이 가진 고유의 논리 전개 방식 자체를 닮게 된다. 요점부터 일목요연하게 말하기를 넛지하는 사투리가 있는가 하면, 빠르게 본심을 드러내지 않도록 넛지하는 사투리도 있다.
코드 스타일 역시 사투리와 같다. 내가 작성한 코드 퀄리티는 결국 주변 사람들의 코드 퀄리티에 수렴한다. 이는 코드를 작성하는 것이 결국 ‘내가 전달하고 싶은 바를 어떤 순서로 어떻게 전달할 것인가’의 문제이기 때문이다. 이해하기 쉬운 문장처럼 간결하게 코드를 작성하는 사람이 있고, 몇 번을 읽어도 요점을 알기 어려운 코드를 남발하는 사람도 있다.
좋은 말투를 가진 사람과 대화를 나눠봐야 한다.
좋은 코드를 알아보는 눈을 길러야 한다. 개구리를 냄비에 넣고 서서히 물 온도를 높이면 안락하게 죽어간다는 이야기가 있다. 개발자 역시 좋은 코드를 알아보는 눈이 없다면, 어느새 스스로의 코드 퀄리티를 가늠하지 못 한 채 경쟁력을 잃어간다. 좋은 코드를 알아보는 눈은 수준 높은 코드를 읽는 경험을 통해 기를 수 있다. 코드에 수준에 존재한다는 것을 확인해야 한다.
좋은 퀄리티의 코드는 대개 해당 언어의 표준 라이브러리, 유명한 오픈소스 라이브러리 코드를 통해 확인할 수 있다. 언어의 표준 라이브러리는 해당 언어를 가장 잘 아는 사람들이 작성한 코드이므로 믿을만하다. 또 업계에서 잘 알려진 실력 좋은 팀이 공개한 오픈소스 코드가 있다면 이를 참조하는 것도 도움이 된다. 나의 경우, JS/TS 언어와 nest.js 프레임워크를 사용하면서 TOAST UI 와 jojoldu 이동욱님의 레포지토리를 보면서 좋은 컨벤션을 고민하곤 했다.