리서치 코드의 품질을 개선시키기 위해 점검해야 할 항목들
① 코드 재사용성 높이기 : 라이브러리를 구현하는게 좋음(추상화 : 공통의 속성이나 기능을 묶어 이름을 붙이는 것으로 객체 지향적 관점에서 클래스를 정의하는 것을 말한다)
② 전역변수는 지양하고 환경 값들은 환경 변수로 빼 함수에 명시적으로 파라미터를 전달하는 방식으로 소스 작성
③ import 방식은 relative가 아닌 absolute import 방식으로 쓰는게 좋다. PYTHONPATH 환경변수를 활용해 현재 시작점을 명확히 하고 절대경로 import 로 진행.
④ 변수명 축약어 쓰지않기.
=> 구체적인 방법들
- Lint (소스 코드를 분석하여 프로그램 오류, 버그, 스타일 오류, 의심스러운 구조체에 표시(flag)를 달아놓기 위한 도구)
: python black
: python 인덴트
: 카멜케이스, 스네이크 케이스
: flake8
: python 타입 체크 (mypy 라이브러리)
: 데이터타입 힌트 명시
지속적 통합(Continuous Integration) : 지속적으로 퀄리티 컨트롤을 적용하는 프로세스를 실행하는 것. 작은단위의 작업으로 빈번한 통합이 발생. 소프트웨어의 질적향상과 소프트웨어를 배포하는데 걸리는 시간을 줄이는데 초점
=> Github Actions 추천
https://docs.github.com/ko/actions/quickstart
Quickstart for GitHub Actions - GitHub Docs
Introduction You only need a GitHub repository to create and run a GitHub Actions workflow. In this guide, you'll add a workflow that demonstrates some of the essential features of GitHub Actions. The following example shows you how GitHub Actions jobs can
docs.github.com
=> 코드 클라이메이트 (정적 분석 툴로 유료이지만, 오픈소스인 경우는 무료, 시니어가 코드리뷰해주는거처럼 한줄한줄 남겨줌 깃허브랑 연동 시 능률 향상!)
Data-Driven Engineering Intelligence
Code Climate's industry-leading engineering intelligence solution helps you unlock the full potential of your organization and ship better code, faster.
codeclimate.com
'스터디 > AI' 카테고리의 다른 글
[실무] WIT 모델 분석 (2) | 2023.02.26 |
---|---|
[실무] TFDV 데이터 검증 (0) | 2023.02.24 |
[실무] ML Hyperparameter Optimization (1) | 2023.02.23 |
[실무] 프로젝트 모델 실험관리 (0) | 2023.02.23 |
[실무] ML(머신러닝) 실무노트 (0) | 2023.02.16 |