최근에 있었던 일입니다.
기존 프로그램에 거대한 기능 하나를 구현하려고 했는데 이것을 a라고 하겠습니다. 전체 프로그램은 매우 거대해서 a를 구현하면서 다른 이상증상(부작용, 사이드이펙트)를 일으키지 않으려면 정확히 어디를 어떻게 고쳐야할지 알아내야 합니다.
그 과정은 제법 길어서 기본 2시간 정도는 걸리곤 합니다.
그래서 반나절을 소스코드만 바라보다가 대략 어디를 어떻게 고쳐야할지 계획을 세웠습니다. 그리고 잠시 쉬고 다시 소스코드를 고치려고 했는데....
이미 그렇게 구현되어 있었습니다. ...응???
이 일은 저 혼자 하는 것이라서 저 아니면 아무도 이것을 할 사람이 없는데...
아무리 생각해봐도 제가 예전에 미리 기능을 구현해둔 것 외에는 다른 설명이 불가능하더군요.
그러니까 제가 미리 기능을 구현해놓고 그걸 완전히 망각한 상태에서 다시 구현하려고 했던 것입니다.
이와 비슷한 사건이 여럿 있는데 오늘은 이것만 적고자 합니다. .
-----------그 후의 일 -------
그 기능을 구현했더라도 겉으로 드러나라면 다른 몇가지를 더 수정해야해서 기능이 이미 구현되었는지 알 수가 없었습니다.
그리고 그 기능 a를 직접 사용해보니 잘 안되더군요. 아무래도 예전에 제가 a를 만들다가 거의 막바지에 그만둔 것 같습니다.
결국 한참 시간을 더 투자하여 기능 a가 만들어졌습니다.
그 와중에 아주 유용한 수학식 하나를 만들게 되었는데 ..그건 또 언젠가 다른 포스트에 적고자 합니다.
그 수식도 완전히 망각하지는 않을까 하여 노트에 기록해두었습니다.
프로그래머도는 사람이고 기억력에는 한계가 있다보니 정말 온갖 이상한 일들을 만나게 되는 것 같습니다.
다음에도 짧은 내용으로 망각사건2를 포스팅할 예정입니다!
이렇게 적고보니 앞으로 포스팅할 얘기가 제법 되네요.