코딩 스타일의 변화

요즘 코딩 스타일을 한 번 바꿔보고 있다. 그런데, 거기서 얻는 배움이 생각보다 크다. 최근 Java 의 Spring Boot 를 깊게 접하면서 “우아한형제들”이란 회사의 기술블로그를 유심히 보게 되었는데, 그 중 “목적의식 있는 연습을 통한 효과적인 학습” 포스트를 읽은게 그 동기이다. “우아한형제들”이 훈련자들에게 제시한 코딩 가이드라인은 아래와 비슷하다.

  • Indent(인덴트, 들여쓰기) depth를 3이 넘지 않도록 구현한다. 2까지만 허용한다.
    • 예를 들어 white문 안에 if문이 있으면 들여쓰기는 2이다.
    • 힌트: indent depth를 줄이는 좋은 방법은 함수를 분리하는 것이다.
  • 함수 길이가 15라인을 넘어가지 않도록 구현한다.
  • 함수가 한 가지 일만 하도록 최대한 구현한다.
  • else 예약어를 쓰지 않는다.
    • 힌트: if구문에서 값을 return 하는 방식으로 구현하면 else는 사용하지 않아도 된다.
    • switch/case 는 허용하지 않는다

짐작컨데 “우아한형제들”에서 위 가이드라인을 훈련자들에게 제시한 이유는, 학습자들이 위 규칙을 따라보면서 스스로 장/단점을 배우고, 또 개발자들이 기존에 가지고 있는 자기만의 습관을 바꾸면서 변화의 길을 유도하기 위함이 아니었을까? 그리고 무것보다 “피드백” 시간에 서로 많은 것을 배울 수 있는 시간을 훈련자들에게 주기 위함이 아니었을까?

나는 그 회사 소속은 아니지만, 초심으로 돌아가서 위 흔련을 따라해봤는데 스스로 매우 큰 만족이 있었다. 그리고 그에 따른 변화는 아래와 같다.

  • 코드가 간결해지고 명확해졌다.
  • 코드가 세분화되면서 전문화되었다.
  • 문서와 별로 친하지 않은 나에게 Markdown 문서작성은 하나의 기쁨이 되었다.
  • Markdown 문서를 써보니, 생각이 많이 정리되었다.
  • 설계가 체계화되었다.

오래된 습관을 바꾼다는 것은 그리 쉬운 일은 아닌 것 같다. 하지만, 변화하면 그 보람은 큰 것 같다. 어제에 이어 오늘도 배워서 행복하다.