본문 바로가기

카테고리 없음

DRF + ML : 피드백

발표 후 튜터님이 각 조의 결과물에 대해 피드백 해주신 내용 중 필요하다고 생각되는 것을 모아두었다.

  • 독스트링
    각 클래스와 메서드를 상세하게 설명하는 독 스트링에 대한 컨밴션을 정하고 꼬박꼬박 달아놓으면, 코드 가독성과 추후 유지 보수에 도움이 된다.

  • 파일 명
    파일 이름을 네이밍 할때에는, 파일 이름만 봐도 어떤 역할을 하는 코드를 가지고 있는지 바로 알 수 있게 작명하는 것이 좋다.

  • 앱의 분리

    1. 앱을 분리하여 사용할 경우, 하나의 앱의 기능은 그 앱안에서 완성되게 하는 것이 좋다. 예를 들어 ai_process app에 있는 view를, article app의 urls.py에서 url을 연결하는 등의 행위는 하지 않는 것이 좋다.
    2. 앱의 분리에는 명확한 기준을 가지고 있는 것이 좋다. 너무 많이 분리하는 것은 독이 된다.
    3. 각 코드는 앱 안에서도 기능에 맞게 파일별로 작성되는 것이 좋다. 검증은 serializer에서, 권한 설정은 permission에서...
  • 코드 명과 기능의 일치
    변수명, 클래스명, 메소드명은 그 기능과 일치하여야한다. 이를 통해 가독성 높은 코드, '스스로 설명하는 코드'를 짤 수 있다.

  • 샐러리/레디스를 이용한 비동기 구현
    레디스는 램을 사용하는 키밸류쌍 저장하는 임시저장 구조이다. 임시적인 데이터베이스처럼 사용가능하다. 샐러리는 백엔드에서 오래걸리는 작업을 맡길 수 있는 워커들을 말한다. 백엔드에서 시간이 오래걸리는 작업들은 비동기처리를 통해 타임아웃을 방지하고 사용자의 혼란을 줄일 수 있다. (선 응답, 후 작업, 작업종료시 결과 반환)

  • contributor는 기록이 남아야한다
    버스 탑승의 의심을 받지 않기 위해선 스스로 작성한 코드를 스스로 커밋하고 리뷰를 요청하는 등 적극적으로 로그에 남도록 해야한다.

  • 개발시 사용한 코드, 의미없는 주석 지우기
    이것들은 남겨둘 필요없이 지워 가독성을 챙길 수 있다.

  • 글로벌 키워드의 사용에 유의
    코드의 가독성이 떨어지고 예상치 못한 부작용이 나타날 수 있다.

  • 테스트 코드의 중요성
    테스트 코드를 한번 작성해 놓고 유지관리만하면, 기존 기능의 동작을 체크하는 것을 자동화할 수 있다. 생각보다 많은 시간을 아껴주므로 잘 사용하자.