GitHub Copilot 베타 사용 후기 - 실무 적용 가능성
도입 배경
6월에 발표된 GitHub Copilot 베타를 9월 말부터 실무에 사용해봤다. VSCode 확장으로 설치하면 코드 작성 중 자동 완성 형태로 제안이 들어온다.
유용했던 케이스
1. 반복적인 CRUD 로직
// 함수명과 파라미터만 작성하면
async function updateUserProfile(userId: string, data: ProfileData) {
// 이후 코드를 거의 정확하게 제안함
const user = await prisma.user.findUnique({ where: { id: userId } });
if (!user) throw new Error('User not found');
return prisma.user.update({
where: { id: userId },
data: { ...data, updatedAt: new Date() }
});
}
2. 테스트 코드 작성
기존 함수를 보고 describe, it 블록을 제안하는 정확도가 꽤 높았다. 엣지 케이스까지는 아니지만 기본 테스트 스켈레톤은 충분히 생성 가능했다.
3. 타입 정의
API 응답 인터페이스나 Props 타입을 작성할 때 필드 몇 개만 입력하면 패턴을 파악해서 나머지를 제안했다.
한계
- 복잡한 비즈니스 로직은 오히려 혼란 가중
- 보안이 중요한 코드는 제안을 신뢰하기 어려움
- 주석을 과도하게 믿고 엉뚱한 코드 생성
- 네트워크 지연으로 제안 타이밍이 애매할 때 있음
결론
보일러플레이트 작성 시간을 20~30% 정도 단축시켜주는 느낌이다. 하지만 제안을 무비판적으로 수용하면 안 되고, 여전히 코드 리뷰는 필수다. 당분간은 보조 도구로만 활용할 예정이다.