최근에 저는 소프트웨어의 주요 부분을 물려 받았습니다. 원래 모델의 소프트웨어는 여러 세대에 걸친 프로그래머들의 노력으로 사라졌습니다 ("원래 모델"조차도 크게 손상된 것처럼 보입니다). 코드에는 단위 테스트가 없습니다. 다행스럽게도 이전 버전과 호환 될 필요가 없습니다 (아, 지옥보다 나빠질 것입니다!). 나는 코드를 리팩토링하는 선택적 강제적이고 선택적 제한적 접근 방식을 취하고있다. 과거에는 많은 것을 동시에 변경하려고 시도하면서 자주 손을 태웠지만 여전히 그렇게하는 경향이 있다고 생각합니다.최고의 디버깅 조언에 대한 잠깐의 토론
한동안, 나는 장시간 붙어 버린 버그도 해결했습니다. 그 경험을 통해 나는 새로운 것을 시도하는 것보다 누락 된 "올바른 가설"을 찾는 시간을 보내는 것이 중요하다는 것을 이해했습니다.
나는 내 다음 목표가 가능한 한 빨리 테스트를 만들어야한다는 것을 알고 있지만, 현재 어떻게해야하는지에 대해서는 부끄럽다. 나는 "Working Effectively with Legacy Code"이라는 책에서 다루는 리팩토링의 원칙을 사용하고 싶지만 인내와 시간 (또는 규율)이 부족하여 책을 따라갈 수 없습니다.
경험에 근거한 디버깅 요령을 제공하려면 다음을 수행하십시오.
닫기 사촌 : http://stackoverflow.com/questions/108141/how-do-i-work-effectively-with-very-messy-legacy-code –