행복 스파이럴

notJoon·2023년 7월 7일
0

일기

목록 보기
1/1

얼마전 코드를 수정하다 겪은 일이다. 기능을 추가해야 하는데 아무리봐도 수정을 할 수 없는 기이한 상황에 빠진 것이다. 개인 프로젝트라 유연한 남탓을 할 수 없기에 먼저 기억을 거슬러 올라가기로 했다.

어디서 부터 꼬인건지는 다행히 금방 찾아냈다. 코드 맨 밑 바닥을 지탱하고 있는 타입을 선언할 때 “설마 여기까지 기능을 확장하겠어?”라는 안일한 생각으로부터 발생한 문제였다. 이렇게 git blame을 돌릴 필요도 없이 순식간에 원인을 찾아냈고, 내가 입력해야 할 명령어는 git blame —myself였다는걸 깨닫는데는 오랜 시간이 걸리지 않았다.

처음 작성할 때 모든 확장 가능성을 열어두고 작성했으면 진작에 수정하고도 남았을 것이다. 하지만 깨닫게 된 시점에선 이런 생각은 아무런 의미가 없다. 문제는 해결되지 않았고, 수정할 파일은 여전히 산더미 처럼 쌓여있다.

잘못 설계된(작성된) 코드는 바이러스와 같다. 작성 시점에서는 잠복기를 가져 아무 문제 없이 잘 돌아가지만, 결국 어느 시점에는 문제가 터지고 그 문제는 손 쓸 새도 없이 씨뻘건 에러 표시와 함께 모든 파일로 번져나간다.

뭐시기 주도 개발이 성행하는 요즘, 그 어떤 방법론을 사용하더라도 애초에 적용대상이 잘못 설계된 코드라면 맥을 못 추릴게 분명하다.

이제 해결책은 두 가지다. 전부 수정하거나, 포기하거나. 나는 후자를 택했다. 지금 재작성하는게 장기적으로도 좋은 선택임이 분명하다. 하지만 시간이 부족하기에 좋은 선택인걸 알고도 선택하지, 아니 선택할 수 없었다.

현재 내 코드는 데스 스파이럴에 빠진 개미와 같다. 하지만 결국 전부 수정이라는 좋은 방안 대신 “버그가 아니라 기능"이라는 택도 없을 이 세단어로 소용돌이를 가리는 재귀적-지록위마(指鹿僞馬)를 택하기로 결정했다. 하지만 언젠간 이것도 터질 때가 올 것이다.

profile
Uncertified Quasi-polyglot pseudo dev

0개의 댓글