발표 후 튜터님이 각 조의 결과물에 대해 피드백 해주신 내용 중 필요하다고 생각되는 것을 모아두었다.
독스트링
각 클래스와 메서드를 상세하게 설명하는 독 스트링에 대한 컨밴션을 정하고 꼬박꼬박 달아놓으면, 코드 가독성과 추후 유지 보수에 도움이 된다.파일 명
파일 이름을 네이밍 할때에는, 파일 이름만 봐도 어떤 역할을 하는 코드를 가지고 있는지 바로 알 수 있게 작명하는 것이 좋다.앱의 분리
- 앱을 분리하여 사용할 경우, 하나의 앱의 기능은 그 앱안에서 완성되게 하는 것이 좋다. 예를 들어 ai_process app에 있는 view를, article app의 urls.py에서 url을 연결하는 등의 행위는 하지 않는 것이 좋다.
- 앱의 분리에는 명확한 기준을 가지고 있는 것이 좋다. 너무 많이 분리하는 것은 독이 된다.
- 각 코드는 앱 안에서도 기능에 맞게 파일별로 작성되는 것이 좋다. 검증은 serializer에서, 권한 설정은 permission에서...
코드 명과 기능의 일치
변수명, 클래스명, 메소드명은 그 기능과 일치하여야한다. 이를 통해 가독성 높은 코드, '스스로 설명하는 코드'를 짤 수 있다.샐러리/레디스를 이용한 비동기 구현
레디스는 램을 사용하는 키밸류쌍 저장하는 임시저장 구조이다. 임시적인 데이터베이스처럼 사용가능하다. 샐러리는 백엔드에서 오래걸리는 작업을 맡길 수 있는 워커들을 말한다. 백엔드에서 시간이 오래걸리는 작업들은 비동기처리를 통해 타임아웃을 방지하고 사용자의 혼란을 줄일 수 있다. (선 응답, 후 작업, 작업종료시 결과 반환)contributor는 기록이 남아야한다
버스 탑승의 의심을 받지 않기 위해선 스스로 작성한 코드를 스스로 커밋하고 리뷰를 요청하는 등 적극적으로 로그에 남도록 해야한다.개발시 사용한 코드, 의미없는 주석 지우기
이것들은 남겨둘 필요없이 지워 가독성을 챙길 수 있다.
글로벌 키워드의 사용에 유의
코드의 가독성이 떨어지고 예상치 못한 부작용이 나타날 수 있다.테스트 코드의 중요성
테스트 코드를 한번 작성해 놓고 유지관리만하면, 기존 기능의 동작을 체크하는 것을 자동화할 수 있다. 생각보다 많은 시간을 아껴주므로 잘 사용하자.