-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BE] 코드 품질 향상 도구 세팅 #7
[BE] 코드 품질 향상 도구 세팅 #7
Conversation
- 파이썬 버전 변경 - workdir 변경 - libpq-dev: PostgreSQL 데이터베이스의 클라이언트 라이브러리 개발 파일을 포함하는 패키지
- .env 위치 변경
- volumes 경로 변경 - context 경로 변경
- 아직 정의되지 않은 setting에 해당하는 부분 주석 처리
- flake8, black: linter, formatter 관련 패키지 추가 - itsdangerous, pydantic-settings: docker 빌드 시 no module 에러가 나타나 설치
- 현재 설정되어 있지 않은 부분 주석 처리
- / 제거
sonarqube 스캔 시 생기는 파일 경로 gitignore 처리
- sonarqube 로컬 연동
- pre commit 패키지 추가 closed #5
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
코드 작성하시느라 고생 많으셨습니다:) 컨벤션도 PR이랑 Commit 모두 지금처럼 해주시면 되십니다!
(sonarqube PR 데코레이션은 제가 한번 삽질 이어나가 보겠습니당)
이제 PR 올리셨으니 해야할 가장 중요한(?) 부분이 있습니다.
.github/workflows
에 코드 품질 관련 CI 파일 하나 만드시고 코드 포맷팅 추가된 pre-commit이 실행될 수 있도록 세팅하기
(레거시 코드 참조)isort
추가 세팅 (import문 정리 도구)Mypy
추가 세팅 (타입 검사 도구)
(2, 3번은 black이랑 동일하게 pyproject.toml 파일에 세팅해주시고 pre-commit hooks에 추가해주면 되는데 black 잘 세팅하셨으니 금방 세팅하실 수 있을거에용)
- flake8 중복 설정 부분 제거 - flake8-bugbear, comprehensions, pytest-style 추가
- flake8-bugbear, comprehensions, pytest-style 추가 - isort 추가 - mypy 추가
- black: max-length 통일 - isort 추가 - mypy 추가
- ignore: 기본적인 것들만 남겨두고 나머지 삭제. 추후 필요 시 추가 예정 - bug bear, comprehensions, pytest 추가
- CI 단계에서 자동 포맷팅 수행 작업 close #5
- 프로젝트 경로 위치 수정
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
CI 코드도 잘 동작하네요. 수고하셨습니다-!:)
💡 코드 품질 향상 도구 세팅
🫨 고민한 부분
메인 DB
PostgreSQL, MySQL, SQLite 중 PostreSQL 로 세팅.
linter, formatter
flake8와 black, pre-commit 설정
코드 분석 정적 도구 도입
sonarqube를 github 연동까지 해보려고 했으나, 아직 docker 등 인프라 세팅에 익숙치 않아
설정에 실패함..
📌 중점적으로 볼 부분
참고한 레퍼런스입니다.
🎯 테스트 결과
(초기 세팅이므로 테스트 코드는 없음)
🎇 동작 화면
테이블이 잘 생성되었는지 조회한 스크린샷입니다.
📗 참고 자료 (선택)
추후 sonarqube - github 연동 세팅 참고 레퍼런스
[Sonarqube] Sonarqube 설치 + PR decoration 하기
SonarQube with Github Actions (PR Decoration)
🙏리뷰 요구사항(선택)
레거시 코드들과 비교하고, 각 항목들을 참고하여 설정하였습니다.
🚩 후속 작업 (선택)
✅ 셀프 체크리스트
💫 기타사항
closed #5