DION

좋은 코드란 무엇일까

2026.1.11 (14h ago)

좋은 코드란 무엇일까? 정답은 없다. 좋은 코드에 대한 팀 또는 개인의 기준은 다양하며, 개발자들은 더 좋은 코드를 위해 리팩토링하고 토론하고 피드백한다. 이 글을 작성하는 지금이 지나고 나서 좋은 코드에 대한 나의 견해가 금방 달라질 수도 있겠지만, 지금까지 배우고 느꼈던 것들을 기반으로 내가 생각하는 좋은 코드에 대해 정리해본다.


잘 돌아가면 장땡

최소한의 버그로 요구사항에 맞게 잘 돌아가는 것이 가장 중요하다. 즉, 좋은 코드를 논하기 전에 주어진 문제를 해결했는지가 먼저다.

강록 아저씨 흑백요리사 우승 기원

문제를 해결했다. 그럼 장땡인가? 현재만 중요하고 나만 중요하다면 맞다. 하지만 우리는 앞으로 더 잘하는 것에 관심이 많고, 동료들과 미래의 나를 중요하게 여긴다. 그렇기 때문에 현재 작성한 코드를 미래에 다시 접했을 때를 위해 좋은 코드를 작성해야 한다.


변경하기 쉬운 코드

그럼 미래를 위한 좋은 코드란 무엇일까? 변경하기 쉬운 코드다. 당연한 말처럼 보일 수 있지만 변경하기 쉽다는 것에는 많은 의미가 있다.

  1. 코드를 빠르게 이해할 수 있다.
  2. 코드를 빠르게 변경할 수 있다.
  3. 코드를 안전하게 변경할 수 있다.

이 세가지를 모두 만족하는 코드를 변경하기 쉬운 코드라 생각한다.

Toss Frontend Fundamentals에서도 좋은 코드를 변경하기 쉬운 코드라 말하며, 코드가 변경하기 쉬운지는 4가지 기준인 가독성, 예측 가능성, 응집도, 결합도로 판단할 수 있다고 한다. 이 또한 크게는 위 3가지 항목을 의미한다.

변경하기 쉬운 코드는 어떻게 작성할 수 있을까? 나도 알고 싶다. 앞으로 다양한 경험을 쌓고 꾸준히 고민하며 새로운 글로 정리해보도록 하겠다. 프론트엔드에서는 FSD(테슬라 아님) 아키텍처 등 다양한 방법론이 존재하니 참고해보자.

테슬라 사고싶다 (출처: 테슬라코리아)

개발자 협업의 첫걸음

내가 현재 작성한 코드는 언젠가 다른 동료 또는 미래의 자신이 다시 접하게 된다. 좋은 코드를 작성했다면 미래의 개발자는 더 나은 생산성으로 업무를 진행할 것이고, 최소화된 사이드 이펙트로 사용자에게 더 안정된 경험을 제공할 것이다.

이 것이 개발자 협업의 첫걸음이자 가장 중요한 전진이다.



내 개인적인 견해다. 나중에 생각이 크게 바뀌게 되었을때 이 글을 다시 읽는다면, 매우 부끄러워 하며 성급히 지우겠다.