WIL - 2주차 냄새나는 코드 판별

컨스탄트·2026년 6월 28일

Loopers

목록 보기
2/8

2주차 발제의 내용은 11가지의 냄새나는 코드를 판별하는 법이였다.

경계란 말 그대로 컴포넌트를 어디까지 나눌 것인가에 대한 얘기이고
계약은 컴포넌트의 인터페이스를 어떻게 잘 설계할 것이며
합성은 컴포넌트를 어떤 패턴으로 잘 만들 것에 대한 얘기이다.

이번 발제가 좋았던건 다시 한번 기본기를 다듬고 배우면서 내가 너무 러프하게 개발을 해오고 있진 않았나 반성을 할 수 있는 계기가 되었다.

일정에 쫓겨 기능 구현 하기에 바빴고, 그러다보니 이런 부분을 어느정도 타협하고 가는 시간들이 점점 늘어났었던 것 같다.
'그래, 일단 일정에는 맞춰야 하니까 빨리 만들고 추후에 리팩토링을 하자'
이런 생각을 모든 개발자들이 한번쯤은 해봤을 것이다.
나도 수없이 했다. 하지만 그 후에 리팩토링을 하는 시간을 가지는것은 쉽지 않았고 나의 게으른 습성 때문에 '나중에, 나중에' 점점 미루었던 경우도 많았다.

이런 타협의 선은 아마 사람마다, 회사마다, 프로젝트 일정마다 각각 다를 것 같다.
사실 나는 아직 1순위는 '기능 구현' 이라 생각을 한다. 우리는 '일정' 이라는게 있기 때문에 코드가 100프로 깨끗하지 않아도 그 안에 기능을 만들어야 한다.
하지만 그렇다고 기능동작만 하는 스파게티 코드를 만들게 된다면 추후 유지보수와 새로운 기능을 붙일때의 '일정' 에 영향을 줄 수도 있다.

따라서 우리는 어느정도 타협의 선을 적당히 잘 맞추어 100프로 완벽하게 깨끗한 코드가 아니더라도 기능을 할 수 있는 코드를 1차적으로 만들어 낼 수 있는 능력이 필요하다 생각이 들었다.

물론 요즘 AI가 너무 잘해주어 이 타협의 선을 100프로 근처까지 충분히 끌어낼? 수도 있을 거라 생각한다.

이번주 발제를 통해 다시한번 기초를 다잡고, 반성을 하게 되는 계기가 되었다. ai가 만들어주는 코드를 '잘 동작하네' 라고 바로 pass 시키지 말고 위의 11가지의 비판적 시각으로 한번 살펴보는 습관을 들여야겠다.

profile
꾸준히 개발을 즐기는 사람입니다

0개의 댓글