[인프콘 2024] 클린 스프링: 스프링 개발자를 위한 클린코드 전략

아래 글은 [인프콘 2024] 클린 스프링: 스프링 개발자를 위한 클린코드 전략 -토비님의 발표를 듣고 정리한 글입니다.

 

 

1. 클린 코드, 정말 필요한 걸까요?

“클린 코드가 과연 구현 속도와 생산성을 떨어뜨리는 걸까?”

그렇다면, 클린 코드는 무엇일까요?

 

발표에서는 로버트 마틴의 책 클린 코드를 중심으로 다음 네 가지가 언급되었습니다.

  1. 읽기 좋은 코드
  2. 이해하기 쉬운 코드
  3. 확장하기 좋은 코드
  4. 유지보수하기 좋은 코드

결국 클린 코드는 단순히 원칙을 따르는 것이 아니라 ‘유지보수성’이라는 개념이 모든 것을 아우르는 본질이라고 강조하셨습니다.


2. 클린 코드에 대한 오해들

발표에서 흔히 듣는 클린 코드 관련 오해들이 소개되었습니다.

  • "클린 코드는 주석 없이도 충분하다."
  • "클린 코드만 있으면 테스트는 필요 없다."
  • "클린 코드는 구현 속도를 늦추고 팀의 발목을 잡는다."

이러한 오해의 배경에는 기술 부채라는 개념이 있습니다.

  • 기술 부채는 지금의 빠른 개발을 위해 미래의 시간과 자원을 빌리는 것과 같습니다.
  • 하지만 부채는 갚아야 합니다. 갚지 않으면 시간이 지날수록 프로젝트는 무너질 위험에 처하게 됩니다.

그렇다면 기술 부채를 줄이기 위해 필요한 것은 무엇일까요?

바로 리팩토링입니다.

 

리팩토링은 기술 부채를 상환하는 과정이며, 이 과정을 통해 코드 품질을 지속적으로 유지할 수 있습니다.


3. 테스트를 하면 시간이 너무 오래 걸린다?

라는 생각이 든다면…

테스트를 빨리 작성하는 능력을 키우는 데 집중해 보시길 권장하셨습니다.

 

테스트를 빠르고 효과적으로 작성하며 개발하는 능력은 연습과 연구를 통해 개선될 수 있습니다.

이를 통해 개발 생산성과 유지보수성의 선순환 구조를 만들어낼 수 있습니다.


4. 코드는 작성자의 당시 감정과 상태를 그대로 반영한다.

코드는 작성 당시의 감정과 상태를 반영합니다.

예를 들어, 사이드 프로젝트를 진행하면서 시간이 부족하다는 이유로 코드 리뷰를 소홀히 한다면, 코드에 깊은 고민이 담기지 못하고 당시의 감정이 고스란히 드러날 수 있습니다. 이처럼 코드는 작성자의 태도뿐만 아니라 팀의 분위기까지 나타낼 수 있습니다.

 

코드를 자신의 얼굴이라고 생각하고, 유지보수성, 팀워크, 그리고 생산성이라는 세 가지 균형을 잘 맞춰 나가야 겠습니다.