# 요약 - XM520의 ForceControl, PlaceDelay 범위 수정 작업을 진행하면서 리팩토링과 유닛테스트를 적용하여 안전하고 추후 수정도 용이하도록 작업하였다. 이에 사용된 방법들을 공유하고자 함. (박형근) # 작업 배경 - 기존 코드는 HM520W용으로 작성되어 있었는데 로직이 복잡하여 실수할 가능성이 높았음. - 그래서 먼저 리팩토링을 진행함. - 리팩토링 진행하기 전에 안전망을 구축. - 리팩토링하여 코드크기가 1/3정도로 줄어들고 수정이 용이하게 되었다. - 이를 장비브랜치 3개에 횡전개 해야 하는데 머지후 검증하려면 클릭을 100번 이상 해야하는 문제가 있음. 그래서 유닛테스트를 작성하여 반자동 테스트 하도록 함. # Refactoring - 기능은 그대로, 구조/구현만 정리 - 위험하니 안전망 필요 - 유닛테스트 - 중복실행 - 마틴 파울러의 리팩토링 책 참고, 비주얼어시스트 기능 활용 - 언제 하나? - 기능 수정하기 전에 하면 좋다. - 장점 - 코드 가독성이 좋아져서 기능 수정이 편해진다. - 단점 - 시간 소요 # UnitTest ## 구조 1. 언제 동작할 것인지 : 2. 디버그 빌드/릴리즈 빌드 3. 옵션 설정 (ini, 커맨드라인 인자) 4. 브레이크 포인트 2. 원래 값 백업 3. 테스트용 값으로 바꾸기 4. 테스트 실행 5. 백업값 원복 자동화 : 실행/종료, UI요소 막기 단점 : 시간 소요