🖥 1차 프로젝트 진행하면서 받은 피드백 정리
1
데이터 형식에 대한 몇 가지
CharField는 VarCharfield와 달리, 지정한 max_length 만큼 무조건 출력한다. 예를 들어 max_length=10인데 그 보다 짧은 문자열을 넣으면 나머지는 space 처리한다.
가격은 IntegerField 대신 DecimalField (통상 소숫점 2째자리까지) 를 사용한다. 다양한 화폐단위가 존재하기 때문에, 보통 소숫점까지 설정해준다.
2
created_at/updated_at은 보통 한 세트로 포함되는 속성이기 때문에, TimeStampField 클래스로 묶어 상속받게 하는 것이 일반적인 방법인 듯 하나 100% 정답은 아닌 듯.
-> cores app으로 뺐다 치면, 이 데이터를 확인하기 위해 해당 app으로 또 들어가야 한다.
-> 상황에 따라 테이블마다 넣어주는게 더 편할 수도 있다.
3
보통 e-commerce 서비스들은 다양한 카테고리의 제품을 판매한다.
그런데 이 제품 테이블을 모두 별도로 만들면 필요 이상으로 복잡해짐므로, 제품 List는 한 테이블에 모두 묶는게 좋다.
속성이 카테고리마다 제각각이면 어떻게 하느냐?
-> 최대한 같은 속성으로 통일해서 계획을 해야 한다. cafe24 참고
-> 위의 작업을 거치지 않고 그냥 합치면 null이 남발하는 db가 됨
-> 데이터베이스 모델링할 때 database answer를 참고해보자.
4
front-end의 영역이 어디까지인지도 잘 확인해야 한다.
첫 화면 nav에 등장하는 메뉴(ABOUT, PRODUCT, NEWS, CONTACT 등)은 front-end가 직접 구현하는 영역이지 back-end 영역이 아니다.
5
정확성을 높이는데 더 노력하자.
img 속성은 image_url로 하면 더 명확해진다.
6
개인적으로 느끼는 가장 중요한 점은, front-end와의 합의다.
프로젝트의 기간을 2주라고 했을 때 영역마다/담당자마다 업무 진행 속도, 호흡이 제각각이고 특히 scope을 분할했을 때 더더욱 그럴 수 밖에 없다. 불명확한 부분은 back-end 동료/front-end 동료와 논의하고 상대의 보폭을 보면서 협업해 나가는 연습을 많이 해야겠다.