A * 60 / 3600
A / 60
A * 뒤에 오는 연산은 동일하게 1분에 대한 연산이다. 하지만 위의 식은 60초 / 3600초 를 통해 1분을 나타냈고, 아래 식은 60초를 통해 1분을 나타냈다. 이 고민의 시작은 어떤 연산식을 작성하고 연산식에 대한 고민점을 팀장님과 이야기하다가 나오게 되었다. 나는 위의 식으로 연산 코드를 작성했고, 팀장님께서는 아래 식을 추천해주셨다.
1분 당의 변화를 나타내고 싶었고 그것을 굳이 굳이 풀어서 60/3600라고 표현했다. 하지만 내가 사용하는 데이터는 초가 아닌 분 단위 데이터였고 초 단위 변화량이 차이가 없음에도 3600이라는 초 단위를 코드에 명시했다. 경력 개발자가 보면 (저런 명시적 표현에 익숙한 ?) "초 단위 데이터를 사용하는 구나" 라고 충분히 생각할 수 있는 코드였다.
추가적으로 팀장님에게 중요한 메시지를 전달 받았다. 좀 전에 나눈 이야기가 최신의 컴퓨팅 파워등을 미루어 보았을 때 실제 동작이나 결과에는 큰 차이가 없을 수 있다. 하지만 중요한 것은 이러한 작은 디테일과 작은 노력들이 모여 프로그램을 만들었을 때 그렇지 않은 동일한 프로그램과 비교해보면 분명한 차이가 있을 것이다. 물론 앞으로 매 순간 한 줄 한 줄에 모든 공을 들여가며 세심하게 코드를 작성하기는 쉽지 않지만 지금까지의 나의 코드들을 돌이켜보는 중요한 메시지였다.
팀장님께서 늘 해주시는 말이 있다. "제가 정답은 아니지만 제가 생각할 때는(혹은 제 기준에서는) ~" . 오늘의 경험은 내가 앞으로의 코드를 작성할 때 정답이 되었다.