코드 구조화

정원석·2025년 1월 7일

코드 구조화

가끔 논문의 깃허브에 들어가보면

이런식으로 코드가 나눠져 있는것을 보았다.

매일 코랩으로 코딩해서 ipynb가 제일 편한줄 알았는데 실무에서는 오히려 py로 관리를 하는 것 같더라.
이렇게 신경쓰니까 잘 관리된 깃허브들의 파일 구조가 눈에 들어왔다.

내꺼
이건 내가 깃허브에 올린 파일들.
공부한 내용을 그냥 푸쉬하기만 했다. (커밋 메시지만 잘 쓰면 될줄 알았지)

구조화의 장점

  • 결과적으로는 같은 목적을 달성하는 코드이지만
    유지보수재사용성을 극대화하기 위해 코드를 구조화 한다고 한다.

  • 개념 단위 구조화 & 통합을 통해 가독성이 늘어난다.

  • 근데 정해진 규칙은 없으나 어느정도의 큰 틀은 존재함(모델 구조, 하이퍼파라미터, 유틸 함수 등등)

구조화 연습해볼겸 내 코드를 구조화해보겠다.

구조화

폴더별로 설명을 하면

  • assets/
    • 리드미에 사용할 이미지 폴더
  • config/
    • 프로젝트 설정을 Configuration 파일
  • data/
    • 학습에 사용하는 데이터셋 관리
    • 데이터 로더 및 배치 처리 관리하는 함수
  • models/
    • 학습에 사용한 모델함수
    • 나는 Faster R-CNN과 yolov1 함수가 있다.
  • utils/
    • 시각화, 전처리, 후처리 등 기본적인 util 함수

구조화를 하고 나니 뭔가 더 깔끔한거 같기도하다.
나중에 모델을 더 추가할 때는 models/ 에 추가하면 되니까 더 편해보인다.

다음에 프로젝트를 할 때는 처음부터 폴더 구조를 나눠서 진행해봐야겠다.

profile
이기적이타주의자

0개의 댓글