코드 리뷰를 하다보면 약간 복잡한 expression 혹은 statement의 결과를 변수로 치환한 다음에 아래에서는 그 변수를 사용하는 경우가 있다. 변수의 값 참조가 여러번 이뤄지면 문제가 아니지만 갸우뚱하게 되는 케이스는 한번만 사용하는 경우다. 대부분의 자동화 분석 도구는 이런 경우에 대해 고치라는 처방전을 준다. 하지만 나는 기계가 아니라 사람이고 사람이 보기에 복잡해보이는 걸 두는 것보다는 “변수가 의미를 설명해주는데 좀 더 낫지 않을까?” 라는 생각했다.
우연찮게 이 고민에 대한 글 하나를 봤는데 읽어보니 내 생각이 잘못된 것 같다는 생각이 빡! 한대 후려치고 간다. 글 내용을 간단히 정리하면.
- 간단한 expression or statement의 결과를 변수로 뽑는 엉뚱한 짓은 하지 마라. 걍 간단하니 직접 써라.
- 변수를 써서 의미를 명확하게 해야만 할 것 같은 충동을 일으키는 복잡한 경우에는 변수쓰지 말고 함수써라.
왜 변수 쓰는데 함수 쓸 생각을 못했을까? 재활용도 하고 테스트도 작성할 수 있는데 말이다. ㅠㅠ
아무래도 가장 간단한 Coding shortcut을 찾다보니까 그런게 아닐까 싶다. 반성하고 성실하게 살아야겠다.