First, After, Later, Never

  • 2025-11-06

Tidying을 언제 하는 게 좋을까? Tidy first? A personal exercise in empirical software design 2부 중에서 발췌, 요약.

안하기never, 나중에 하기later, 직후에 하기after, 직전에 하기first 옵션이 있음.

안하기

  • 코드를 고칠 일이 다시는 없는 경우(정말 가끔 이럴 때도 있긴 있음. 이럴 땐 정말로 “망가진 게 아니라면 손대지 마세요”).
  • 설계 개선에서 배울 게 없는 경우.

나중에 하기

코딩할 시간이 1시간 쯤 있는데 새로운 기능 추가를 시작하기엔 좀 애매할 때, 나중에 하려고 미뤄둔 tidying을 하면 좋음.

  • 당장 충분한 이득을 주지 못하는 큰 tidying 묶음이 있는 경우
  • 작은 묶음 단위로 할 tidying들이 있는 경우

직후에 하기

기능 구현을 마치고 한 시간 쯤 tidying을 하는 건 적절. 기능 구현 후 일주일 간 tidying을 하는 건 부적절. 후자의 경우라면 “나중에 하기” 후보.

  • 나중으로 미루면 tidying 작업의 비용이 커질 것 같을 때
  • 당장 tidying을 안하면 작업이 끝났다는 성취감이 들지 않을 때

직전에 하기

Tidying 자체에 너무 매몰되지 않는다면, 되도록 ‘직전’. 손해보다 이득이 큰 경우가 많음. 단 너무 교조적으로 따르지 말고 다른 옵션(직후, 나중, 안하기)도 고려.

  • 당장 고쳐야하는 코드의 이해 또는 수정을 도와주는 경우
  • 어떤 tidying을 어떻게 하면 좋을지 보이는 경우