Windsurf Cascade로 리팩토링 워크플로우 개선하기
배경
레거시 프로젝트의 API 레이어를 리팩토링하는 작업이 있었다. 약 20개 파일에 걸쳐 있는 REST API를 타입 안전성을 높이는 방향으로 수정해야 했는데, Windsurf의 Cascade 기능을 써보기로 했다.
Cascade의 차별점
Cursor와 다르게 Windsurf는 파일 간 의존성을 더 잘 이해하는 느낌이었다. 하나의 인터페이스를 수정하면 이를 사용하는 다른 파일들을 자동으로 인식하고 수정 제안을 해주었다.
// types/api.ts 수정 후
interface ApiResponse<T> {
data: T;
error: string | null;
timestamp: number; // 새로 추가
}
// Cascade가 자동으로 인식한 파일들
// services/user.service.ts
// services/product.service.ts
// hooks/useApi.ts
실제 작업 과정
- 먼저 타입 정의 파일을 수정했다
- Cascade에게 "timestamp 필드를 모든 API 응답에 추가"라고 요청
- 영향받는 파일 목록을 보여주고 일괄 수정 제안
- 각 파일별로 diff를 확인하며 승인/거부
전체 과정이 30분 정도 걸렸다. 수동으로 했다면 2시간은 족히 걸렸을 작업이었다.
아쉬운 점
테스트 코드 수정은 여전히 수동으로 해야 했다. Mock 데이터 구조 변경까지는 제안하지 못했다. 그리고 간헐적으로 컨텍스트를 놓치는 경우가 있어서, 중요한 파일은 명시적으로 언급해줘야 했다.
결론
멀티 파일 리팩토링에서는 확실히 생산성이 올라갔다. 다만 맹신하지 않고 각 변경사항을 꼼꼼히 리뷰하는 습관은 여전히 필요하다. 당분간 이런 작업에는 Windsurf를 메인으로 쓸 것 같다.