늘모자란, 개발 :: 변경 0건인데 원문은 달라졌다

늘모자란, 개발

UI 컴포넌트 프로젝트의 코드를 변환하는 CLI에서 “변경 0건”이 나온 파일을 원문과 대조하자 결과가 달랐다. 문법은 건드리지 않았지만 파일 맨 앞의 주석과 공백이 출력에서 빠졌다.

변경 건수는 변환 규칙이 몇 번 작동했는지만 셌다. 파일을 다시 문자열로 만드는 과정까지 보지는 않았다. 파서가 첫 문법 요소부터 텍스트를 꺼내면서 그 앞부분을 범위 밖에 두자, 카운터는 0을 유지한 채 원문만 짧아졌다.

그 앞부분에는 외부 예제를 바탕으로 했다는 설명, 저작권과 라이선스, 자동 생성 파일이라는 표식이 들어갈 수 있다. 실행 결과에는 영향이 없어도 출처와 취급 조건에는 영향이 있다. 컴파일 성공으로는 발견하기 어려운 손실이다.

수정은 파일 시작부터 첫 문법 요소 전까지의 텍스트를 따로 떼어 두고, 변환을 마친 전체 텍스트 앞에 다시 붙였다. 변환 뒤 남은 패키지를 확인하는 검사도 복원된 문자열을 기준으로 돌렸다.

회귀 테스트는 두 갈래로 나뉘었다. 바꿀 문법이 없는 파일은 변경 0건과 원문 완전 일치를 함께 요구했다. import를 실제로 바꾸는 파일은 저작권·라이선스 주석을 유지해야 했다. 패치는 3개 파일에서 46줄을 더하고 2줄을 지웠고, 병합 때 검사 14개를 통과했다.

이 검증은 파일 앞부분과 두 예시에 한정된다. 모든 주석 위치와 파일 형식이 보존된다고 확대해 말할 수는 없다. 다만 한 가지는 분명하다. 마이그레이션 도구의 “변경 0건”은 원문까지 같을 때만 믿을 수 있다.

2026/09/03 10:21 2026/09/03 10:21