본문 바로가기

TIL

[TIL 2024. 05. 10] 심화 프로젝트 피드백 정리

지난 금요일부터 오늘까지 이어온 심화 팀프로젝트가 마무리되고, 이에 대한 발표와 튜터님들의 피드백이 있었다.

 

우리조에 대한 피드백은 물론이고, 다른 조들의 발표를 들으며 좋았던 점과 다른 조들이 들은 피드백 가운데 개인적으로 도움이 될 것이라고 생각한 피드백들을 포함해서 이들을 모두 정리해두고자 한다.


 

우리 조에 대한 피드백

  • 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