자동화된 리팩토링 도구 - RefactorAdvisor & 아마존 Q CLI 툴

리팩토링 어드바이저 및 분석 자동화 도구 - 아마존 Q CLI 툴

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

DevOps

대상자

  • 대상: Python 프로젝트 리팩토링이 필요한 개발자, 기술 빚 정리가 필요한 팀
  • 난이도: 중간 (AWS CLI 및 아마존 Q 설정 필요)

핵심 요약

  • 자동화된 리팩토링 도구로, 대규모 Python 프로젝트의 코드 품질 개선을 지원
  • subprocess.Popen()을 통해 아마존 Q CLI와 통합, DRY, SOLID, 가독성, 성능 기반 리팩토링 제안 제공
  • --chunk-size 옵션으로 100행 단위 파일 분할, Markdown 보고서 생성 가능
  • CLI 툴로, argparse를 사용한 유연한 인터페이스 제공

섹션별 세부 요약

  1. 프로젝트 탐색 및 파일 분석
  • 지정된 디렉토리 내 .py 파일을 재귀적으로 탐색
  • os.walk()를 사용해 파일 경로 수집
  • 예시: find_python_files(directory) 함수
  1. 대규모 파일 분할
  • chunk_file(file_path, chunk_size=100) 함수로 100행 단위 분할
  • 분할 결과: (chunk_number, code_text) 형식의 튜플 리스트
  1. 아마존 Q 통합 분석
  • analyze_chunk(chunk_code) 함수로 아마존 Q CLI에 코드 전송
  • subprocess.Popen()을 통해 분석 요청 및 결과 반환
  • 분석 항목: 코드 요약, 코드 냄새, 리팩토링 제안
  1. 결과 파일 생성
  • .md.txt 형식으로 리포트 작성
  • write_report(file_name, results, output_dir) 함수 활용
  1. 구현 장애물 및 학습
  • 다중 줄 처리subprocess 시간 초과 대응
  • 프롬프트 엔지니어링을 통한 코드 요약 및 리팩토링 제안 최적화

결론

  • 아마존 Q CLI와 통합된 리팩토링 자동화 도구를 활용해 대규모 코드베이스의 기술 빚 정리 가능
  • CLI 인자(--path, --chunk-size, --output)로 유연한 설정 지원
  • Markdown 리포트 생성을 통해 개발자에게 구조화된 피드백 제공
  • AWS CLI 설정아마존 Q CLI 설치 필수 조건 확인 필요