GDSC-University-of-Seoul / 2021-spring-project

Repository for DSC-UOS Spring Project Team
8 stars 0 forks source link

[스프린트 #6] convention(변수명, 파일명 등) 관련 피드백 모음 #40

Closed YubeenSon closed 3 years ago

YubeenSon commented 3 years ago

기능 Issue

변수명, 파일명 변경

필요한 기능

변수명, 파일명에 대한 피드백 사항을 코멘트로 남겨주세요.

설명

다음 스크럼까지 DB Schema에 변경이 있을 예정입니다.
기존에 사용하시던 변수명이 있으시다면 최대한 반영해보겠습니다!

담당자 할당 확인

(작업 예상) 담당자: @edit8080 @handal95 @rxdcxdrnine

우선순위 확인

요청자의 예상 우선순위 : 상

작업을 시작한 작업자는 해당 PR 의 번호를 댓글에 등록 코멘트로 남겨주세요~

rxdcxdrnine commented 3 years ago
  1. video_management 테이블에서 area 테이블은 video, cctv, area 테이블을 차례대로 참조할 수 있는데 area_id 가 필드로 구성된 점이 궁금합니다.

  2. requester 와 user 는 따로 구분한다고 하셨는데, 혹시 그럼 requester 가 일반 유저와 별도의 로그인 과정을 거쳐서 서비스에 접속하게 되는건지 궁금합니다.

  3. requester 와 video management 가 다대다, M:M 관계에 있지는 않은지 궁금합니다

  4. district 테이블에서 code, name 의 필드명이 다른 테이블의 필드명과 혼동될 수 있어, district_code, district_name 등으로 구체화할 필요가 있어보입니다.

handal95 commented 3 years ago
  1. 약어 사용과 관련해서, 헷갈리지 않도록 명확한 정의가 필요해보입니다. ex) 한 단어 변수명은 약어를 사용하지않는다, 약어로 지정된 단어는 항상 약어를 사용한다. 단어의 조합으로 이루어진 긴 변수명에서는 사용한다 등등등
    1. User는 대부분의 DBMS에서 예약어로 사용되고있는 경우가 있습니다. ex, Oracle에서 SHOW USERS; 는 DB에 접속중인 사용자들을 보여주는 명령을 의미합니다.
    2. cdrcare_center의 의미가 children care center라면 언더바가 하나 더있어야 할 것 같습니다. (childrencare center 의 의미라면 상관없을 것 같습니다.) (child care center로 되어있는 경우도 많은 것 같은데, children이 맞는건가요?)
edit8080 commented 3 years ago
  1. 이번 프로젝트 동안 FE는 React의 네이밍 컨벤션으로 Airbnb를 사용할 예정입니다. 주요 사항은 다음과 같습니다.
    • React 컴포넌트는 .jsx 확장자를 사용한다.
    • React 컴포넌트 파일은 PascalCase를 사용한다.
    • React 컴포넌트, 클래스는 PascalCase, 내부 인스턴스는 camelCase를 사용한다.
    • props, state는 camelCase를 사용한다.
  1. React 파일 구조는 "파일 유형에 의한 분류" 방법을 사용합니다. 해당 분류법은 비슷한 동작을 가진 파일끼리 묶어 사용합니다. 단, 참고 자료 2의 예시에서는 css 파일을 components와 같이 묶어 사용하고 있지만 스타일이나 유틸함수 등의 분리를 위해 stylesutils 폴더를 구성하고 관련된 컴포넌트의 폴더를 camelCase로 생성하여 내부에 스타일, 유틸 파일을 작성합니다. 하단에 파일 구조에 대한 예시를 명시해놓았습니다.

api/
  APIUtils.js
  APIUtils.test.js
  ProfileAPI.js
  UserAPI.js
components/
  Avatar.js
  Feed.js
  Profile.js
styles/
  avatar/
  feed/
  profile/
utils/
  avatar/
  feed/
  profile/
  1. React 컴포넌트(JSX) 외의 Pure JS는 ESlint 규칙에 따라 작성합니다.
  2. 변수명은 최대한 DB 스키마에 기반하여 작성합니다.

<참고자료>

  1. https://github.com/airbnb/javascript/tree/master/react#naming
  2. https://ko.reactjs.org/docs/faq-structure.html
handal95 commented 3 years ago

ANOMALY 테이블에 어떠한 이상행동 유형인지에 대한 정보를 저장하는 항목이 추가로 필요할 것 같습니다.