Skip to content

View | 220816 Meeting Note

jin-Pro edited this page Aug 17, 2022 · 3 revisions

01 Discussion

Version 0.1

  • 9/14(1차 보고서) 전에 작동되는 버전 구현 목표

폴더 구조

  • 페이지 이동이 없기 때문에, App.ts에서 컴포넌트 불러오기
  • 컴포넌트 이름을 feature 이름으로 해주기
  • 공유할 수 있는 함수에 대해서 utils 폴더로 분리하기

Convention

  • Github Flow 사용

Lint 설정

  • eslint, prettier는 전체 따라가기(with engine team)
  • ts 부분만 정하면 됨
  • @성현님이 rule 이번주에 해주시기로 함 :)

상태관리 라이브러리

Middleware(redux 같은?) vs context API 사용에 관한 토의

  • context API가 렌더링 이슈 (Provider 아래에 있는 모든 컴포넌트들이 리렌더링 일어나는 문제)

    • zustand
    • redux는 비교해서 선택적으로 렌더링을 해주기 때문에 이슈가 해결됨
  • Q. 중간에 상태관리 라이브러리를 변경한다면 코스트가 클까요? 러닝 커브가 걱정됨

    • A.(성현님) zustand는 코드 3줄이 끝!! 러닝 커브가 크다고 생각하지 않는다. -> 공식문서
    • A.(태림님) 상태관리는 나중으로 미루고 UI를 먼저 만드는 건 어떨까요? 그 후에 상태관련 처리를 추가하는 게 나을 것 같다는 생각입니다!
    • A.(영택님) 각자 dummy data(fake data)를 만들어 두고 작업하는 게 좋을 것 같습니다! 그 후에 적용을 논의해봅시다!
  • 일단 상태관리 라이브러리를 사용하지 않는 걸로 하고, 필요할 때 추가

Test Code

제대로 한다면 TDD-interface, test case 등 만들어야 하겠지만 두 배로 힘들거라고 생각합니다. 대신 Unit Test를 추천합니다. 각자 feature를 만들 때, Test Case 하나씩이라도 올려주는 게 좋을 것 같습니다! Test 관련 내용에 대해서는 추후 세미나가 예정되어 있습니다

by 영택님

  • 각자 feature 만들 때, Test Case 하나씩 올려주기!

컴포넌트 선언 키워드

function vs const

  • 차이
    • (지혜님) const의 경우는 익명함수라서 function이 더 낫다는 얘기를 들었습니다.
    • 컴포넌트는 주로 const로 util함수는 주로 function
    • discussion에서 논의 필요!

타입 선언 방법

type vs interface

  • 차이
    • interface를 사용하면 밑에서 한 번 더 정의했을 때 확장된다는 점을 제외하고는 type과 interface의 기능은 똑같다고 봐도 무방합니다.
  • discussion에서 논의 필요!

머지 기준

  • setState를 할 때 기본 타입을 null로 할지 undefined로 할지, empty value로 할지,… array는 undefined로 할지 [ ] 로 할지
  • Material UI 등의 도움을 받을지?
  • discussion에서 논의 필요!

Material-UI 사용

  • 테마 적용에 유용할 것 같습니다.
  • discussion에서 논의 필요!

02 Feature

1. Temporal Filter

시간에 따라

  • commit 수
  • cloc(count line of code 코드 라인 변경 수) 에 대한 icicle 차트 2개를 나타냅니다.

구간을 선택해주면 Vertical Cluster List와 Statistics 데이터에 반영됩니다.

2. Vertical Cluster List

왼쪽의 Graph (CSM) 와 우측의 details가 존재합니다. 지정된 height을 기준으로 scroll 기능이 존재합니다.

graph는 커밋과 클러스터 두가지 버전으로 존재하며 detail에는 커밋 작성자와 제목이 들어갑니다.

detail을 클릭하면 statistics 내용에 반영됩니다. detail을 클릭하면 아래 Detail에 반영됩니다.

3. Statistics

Temporal Filter에 지정된 구간에 존재하는 데이터를 기준으로 통계자료를 나타냅니다. 또한, Vertical Cluster List의 detail을 클릭하면 해당 commit의 통계자료를 나타냅니다.

4. Detail

pr정보, commit 정보 등 내용이 들어갑니다.


03 추천하는 자세

  • 코드에 대해서 궁금하면 망설이지 말고 질문해주세요!
  • 모르는 내용에 대해서 부끄러워 하지말고 물어봐주세요!

04 Next Step

  • 다음 회의 날짜 (8월18일 목요일 오후 9시)
  • 하고 싶은 feature 투표하기
  • 오늘 회의 내용 wiki에 정리하기 -> 회의록 공유
  • 컨벤션 관련 내용 Discussion에 작성하기
  • 일단 시작해보는 자세 가지기!