지난 금요일부터 오늘까지 이어온 심화 팀프로젝트가 마무리되고, 이에 대한 발표와 튜터님들의 피드백이 있었다.
우리조에 대한 피드백은 물론이고, 다른 조들의 발표를 들으며 좋았던 점과 다른 조들이 들은 피드백 가운데 개인적으로 도움이 될 것이라고 생각한 피드백들을 포함해서 이들을 모두 정리해두고자 한다.
우리 조에 대한 피드백
- Docstring의 사용이 아주 인상적이었음 (현경님의 노하우 배우기!)
- -> 우리 조의 깃허브를 열어서 Docstring 사용을 현업에서 이렇게 하는 경우가 많으니 참고하라고 하심
- 주석도 적극 활용한 것이 좋았음 (함께 프로젝트를 진행하는 팀원들 사이에 코드에 대한 이해가 쉬움)
- API문서, ERD, README 작성이 꼼꼼했음
- 하지만 README에는 각 팀원이 어느 파트를 맡아서 했는지 기재해주면 좋음
- config를 통해 장고 시크릿 키도 잘 처리했음 -> 다음번에는 다른 라이브러리도 추천
- Auth기능에서 특히 꼼꼼한 예외처리가 인상적이었음 (try, except)
- Auth기능에서 정규식을 써서 직접 구현하는 것도 좋지만, 장고가 제공하는 라이브러리를 쓰는 것도 좋음
- 좀 더 안정적인 서비스 제공이 가능하고, 개발도 효율적으로 가능함
- 깃허브 코드를 뜯어보면 여러 사람이 맡아서 작업한 흔적이 느껴진다..
- 즉, Response나 코드형식 등이 통일되어 있지 않음
- 코드 자체가 크게 하나의 완결성을 가질 수 있도록_팀원들간에 미리 형식을 정하는 것을 추천
- 중복되는 코드가 꽤 있었음
- 예쁜 코드를 지향함
- 중복되는 부분은 별도의 처리해줄 것
그 외의 유익한 피드백
- get_user_model을 사용할 것
- model명을 직접 사용하는 것은 유지보수에 있어서 너무 비효율적임
- get_user_model 혹은 settings.AUTH_USER_MODEL을 사용하는 게 좋음
- 깃허브의 main branch는 항상 서비스 가능하게 업로드 되어 있어야 함
- 빨리 제출한 조의 깃허브에 발표회 전에 들어가보니 dev에서 개발이 진행되면서 아직 main은 비어있는 경우를 발견하심 -> 이에 대한 피드백이 필요하다고 생각하고 말해주심
- views와 serializers에서 검증을 반복한 코드들이 있었음 -> 이런 방식은 굳이 추천하지 않음
- 보통은 model단에서 한 번, views나 serializers단에서 한 번씩 검증을 진행해주면 됨
- 예를 들면_이메일 중복 검증을 한다고 하면 model단에서 unique=True로 한 번 검증을 진행하고, views나 serializers 중 하나에서 검증을 추가로 진행하는 것을 추천함
- 예외처리와 검증은 꼼꼼할수록 좋음
- (=Validation을 어디서 처리할지도 통일하기)
- class명은 Pascal로, 함수명은 Camel로, 상수는 all 대문자로 적어줘야 함
- 어떤 내장 라이브러리를 기본적으로 사용할지도 미리 팀원들간에 정해두면 좋음
- 예를 들면_기본적으로 쓰는 건 generics.. 특별한 이유가 있거나, 커스텀 필요성이 있으니까 APIView를 쓰는 식의 흐름..
- objects.all문으로 코드를 작성하는 경우가 보이는데, 이는 추천하지 않음 -> 대신 filter문을 적극 사용할 것
- DB부하를 줄이기 위함
- 깃허브 머지 룰을 정해둘 것 (approve 인원, 코드리뷰 등) _esp. default branch로의 merge시.
파스칼 표기법(PascalCase)
: 각 단어의 첫 글자를 대문자로 시작하고, 나머지 글자는 소문자로 표기한다.
-> 파이썬에서는_주로 클래스 이름을 지을 때 사용
예시: MyClass, CalculateArea
카멜 표기법(camelCase)
:첫 단어를 제외한 나머지 단어의 첫 글자를 대문자로 시작하고, 나머지 글자는 소문자로 표기한다.
-> 주로 변수명, 함수명 등에 사용함 (파이썬에서는 자주 사용되지 않고, JS등에서 잘 사용됨)
-> 낙타를 생각하면 쉬움. 낙타는 머리는 작고, 혹은 큼 --> 완전 첫 단어만 소문자로, 나머지 첫 글자는 대문자임
예시: myVariable, calculateArea
스네이크 표기법(snake_case)
:모든 단어를 소문자로 표기하고, 단어 사이를 언더바(_)로 구분한다.
-> 파이썬에서는_주로 변수명, 함수명, 상수명 등에 사용함
예시: my_variable, calculate_area
'TIL' 카테고리의 다른 글
[TIL 2024. 05. 14 ] Admin page (0) | 2024.05.14 |
---|---|
[TIL 2024. 05. 13] 최종 프로젝트 기획 시작 (0) | 2024.05.14 |
[TIL 2024. 05. 09] API문서 작성 (w. Notion) (0) | 2024.05.10 |
[TIL 2024. 05. 08] point로 게시물 sort하기 (0) | 2024.05.09 |
[TIL 2024. 05. 07] 멀티스레딩과 멀티프로세싱 (0) | 2024.05.08 |