27장. Refactoring Preview를 API 계약과 연결한다
Rename은 텍스트 치환이 아니라 symbol reference를 바꾸지만 JSON field, DB column, reflection, route, template와 외부 client까지 자동 이해하지 못한다. preview에서 변경 파일을 보고 contract test와 migration을 추가한다. Extract Method는 transaction·exception·nullable과 성능 경계를 바꾸지 않는지 본다.
VS Code language server, Cursor edit, IntelliJ refactor 결과를 같은 commit diff로 비교한다. 도구가 더 많이 바꾼 것이 우수한 것이 아니다. compile, test, serialization fixture와 backward compatibility가 근거다.