스터디/AI

[실무] 코드관리

_leezoee_ 2023. 2. 23. 01:59

리서치 코드의 품질을 개선시키기 위해 점검해야 할 항목들

 

① 코드 재사용성 높이기 : 라이브러리를 구현하는게 좋음(추상화 : 공통의 속성이나 기능을 묶어 이름을 붙이는 것으로 객체 지향적 관점에서 클래스를 정의하는 것을 말한다)

② 전역변수는 지양하고 환경 값들은 환경 변수로 빼 함수에 명시적으로 파라미터를 전달하는 방식으로 소스 작성

③ 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

=> 코드 클라이메이트 (정적 분석 툴로 유료이지만, 오픈소스인 경우는 무료, 시니어가 코드리뷰해주는거처럼 한줄한줄 남겨줌 깃허브랑 연동 시 능률 향상!) 

https://codeclimate.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