-
Notifications
You must be signed in to change notification settings - Fork 0
231108 회의록
- 팀 협업 전략 : gitflow, pr/커밋 컨벤션 등
- Jira 연동
- 백로그 작성
- 그룹프로젝트 현황판 작성
- 기획서 초안 정리
- 태스크 취합해서 넣기
- 회의록 정리해서 github에 올림
- 프로토타입, 기획서 링크 슬랙채널에 올리기
- 22:30 멘토링
- 다른팀 염탐하고 좋은거 뽑아오기!
회의를 통해 브랜치/issue/커밋/PR/코드리뷰 전략을 세웠다.
Git 브랜치 전략 (feat. Git Flow, Github Flow) [GIT] 📈 깃 브랜치 전략 정리 - Github Flow / Git Flow
- gitflow와 github-flow 사이에서 고민
- github-flow : 작은 규모의 개발팀이 민첩하게 사용하기 좋음
- git-flow : 근데 dev 브랜치는 있었으면 좋겠음
- 결론 : 절충해서 master-dev-feature 3개를 사용하는 것으로
- dev-feature는 github-flow로
- master에 배포할때는 테스트 철저!
- dev 브랜치를 be, and 따로 가져갈건지 아닌지
- 기본적으로 간결하게 가져가는게 좋다고 생각햇음
- 그러나 be, and의 작업 내역을 편하게 보려면 나누는 것도 좋음
- 결론 : 커맨드라인 명령어로 아름답게 나눠보는 것을 도전. 추후 불편하면 수정 가능.
Backlog를 Repository의 Projects에 작성
type과 역할(Android/Backend)를 labels로 구분
title, assignees, status, milestone, iteration, estimate, priority 추가
-
Assignees
: 작업(이슈) 담당자 -
Labels
: 해당 작업 성격 (documentation 문서 / enhancement 개발 / bug) -
Status
: 작업 상태 -
Priority
: 우선순위 -
Repository
: 연관 저장소 -
Size
: 작업의 크기
Task 단위의 작업
참고: https://blog.munilive.com/posts/my-git-commit-guide.html
참고: https://udacity.github.io/git-styleguide/
Udacity 컨벤션 스타일을 사용하고, 다음과 같은 형식으로 커밋 메시지를 작성한다.
[타입] 제목
# 동사 원형으로 쓰기
# 타입 종류 : fix, docs, style, refactor, test, chore
본문
# 본문의 내용은 어떻게보다는 무엇을 왜에 맞춰 작성한다.
이슈 번호
# 해당 커밋과 연관된 이슈 트래킹 번호
[feat] 친구 화면에서 추가 버튼 구현
XXX 클래스를 사용해서 친구 추가 기능 구현했다.
친구추가하려면 버튼이 필요하기 때문이다.
- yyy DB에 post 요청
- zzz uri에 요청~~
Closes: #1231
-
feat
: 새로운 기능을 추가하거나 기존의 기능을 요구 사항 변경으로 변경한 경우 기능 추가와 수정을 나누어서 쓰고 싶은 경우 아래 처럼 2개로 나누어서 타입을 지정할 수 있다.-
new
: 새로운 기능을 추가 한 경우 -
improve
: 기존 기능을 수정 한 경우, 요구 사항이 변경되어 수정된 경우에도improve
타입으로 한다.
-
-
fix
: 기능상 버그 픽스를 했을 경우 -
docs
: 문서(주석)의 추가/수정의 경우, 직접적인 코드의 변화 없이 순수하게 문서(주석)만 추가/수정했을 경우 -
style
: UI를 추가/변경 하거나 스타일 관련 작업을 했을 경우 -
refactor
: 기능의 변화가 아닌 코드를 리팩토링했을 경우, 코드 리뷰 등으로 로직(기능)의 변화 없이 단순 함수 내부에서만 사용하는 이름을 변경하였거나, 코드 pretty 등을 적용했을 경우 -
test
: 테스트 코드를 별도로 추가하거나, 변경했을 경우, 만약 기능을 추가하면서 테스트 코드를 동시에 작성했으면feat
타입으로 사용 -
chore
: 기능/테스트 코드, 문서, 스타일, 리팩토링을 제외한, 배포, 빌드 등과 같이 프로젝트의 기타 작업들에 대해 추가/수정했을 경우, lint 등의 적용으로 코드 스타일을 수정 했을 때도 chore 사용 -
release
: 릴리스를 하기 위해 패키지 버전을 올리거나, 릴리스 버전 커밋을 찍기 위한 경우
- 커밋에서 수정된 상세내역을 작성한다. 여기선 평서문으로 작성하면 된다.
- 본문은 생략 가능하며, 제목(Subject) 라인과 반드시 한 줄을 띄운다.
- 되도록 한 줄에는 72자 이하로 작성하고 길어질 경우 개행해서 다음 줄에 입력한다.
- 제목과 마찬가지로 100자 정도까지는 괜찮은 거 같다.
- 수정 내역을 블릿 기호(*)를 이용해서 하나씩 입력하는 방법도 좋다.
- 본문의 내용은 어떻게보다는 무엇을 왜에 맞춰 작성한다.
- 본문에는 이 커밋이 무엇을 왜 고쳤는지 적혀 있는 것이 나중에 히스토리 파악하거나, 코드의 변경 의미를 파악하기에 훨씬 도움이 된다.
- 어떻게 고쳐졌는지는 코드의 히스토리를 통해 충분히 파악할 수 있으니 반드시 무엇을 왜 했는지에 대해 작성하도록 한다.
-
Resolves
: 문의나, 요청에 의한 이슈에 해당하는 경우 해당 이슈 번호 기록 -
Closes
: 일반적인 개발과 관련된 이슈에 해당하는 경우 해당 이슈 번호 기록 -
Fixes
: 버그 픽스, 핫 픽스 관련 이슈에 해당하는 경우 해당 이슈 번호 기록 -
See also
: 커밋의 이슈와 연관되어 있는 이슈들이 존재 하는 경우, 또는 관련된 이슈들이 있는 경우 해당 이슈 번호 기록
https://velog.io/@ye-ji/Git-PR-잘-쓰는-방법
유저 스토리 단위의 작업
### PR 타입(하나 이상의 PR 타입을 선택해주세요)
-[] 기능 추가
-[] 기능 삭제
-[] 버그 수정
-[] 의존성, 환경 변수, 빌드 관련 코드 업데이트
### 반영 브랜치
ex) feat/login -> dev
### 변경 사항
ex) 로그인 시, 구글 소셜 로그인 기능을 추가했습니다.
### 테스트 결과
ex) 베이스 브랜치에 포함되기 위한 코드는 모두 정상적으로 동작해야 합니다. 결과물에 대한 스크린샷, GIF, 혹은 라이브 데모가 가능하도록 샘플API를 첨부할 수도 있습니다.
-
코드 컨벤션을 잘 지키기
컨벤션 오류로 인한 불필요한 코멘트는 시간 낭비이기 때문에 지양하는 것이 좋다.
-
리뷰 가이드 잘 작성하기
모든 코드 변경사항에는 의도가 필요하다. 의도치 않게 변경된 부분이 있다면 되돌려 놓아야하고, 줄바꿈과 같이 아주 단순한 변경이라도 그 부분을 리뷰어가 볼 필요가 없다면 "Just line change"와 같은 코멘트를 달아 명시하여 리뷰시간을 줄여줄 수 있을 것이다. 또는 사용된 라이브러리 업데이트가 포함되었다면 해당 라이브러리의 릴리즈 노트 링크나 스크린샷을 첨부하는 것도 좋은 방법이다.
-
작업 중, 리뷰 가능 여부를 잘 명시하기
아직 코드를 작성 중 일때에는 [Wip](Work in Progress)를 타이틀 앞에 추가하고, 만약 작업이 끝났으면 이를 제거하고 review-needed태그를 설정할 수 있다. 한 번 작업을 마쳤다고 끝난 것이 아니기 때문에 리뷰를 반영하는 중에도 이를 반복하여 명시해야한다.
- PR 리뷰어로 파트 내 모든 인원 지정
- 리뷰어 모두 Approve하면 Merge
- 리뷰를 20시 이전에 요청할 경우, 2시간 내 리뷰
- 설명이 필요하면, 댓글 남기고 다음날 스크럼에서 해결
1주일간의 이슈와 작업처리 현황을 JIRA를 통해 관리하기로 했다. github과 연동시킬 예정이다.
- 팀 프록젝트 구현 만듬
- 일단 써보는 걸로
- 백로그 만들고 github 연동 해야함
어제 작업한 유저 스토리를 BE와 안드로이드 입장에서 필요한 작업단위로 쪼갰다. task 별로 분리해보니, 작업량이 어마어마했다. 최소기능을 가지는 product를 먼저 구현하기 위해 화면별 우선순위를 정했다.
-
유저스토리 → 태스크로 분리 작업 (백엔드, 안드로이드 각자 작업 후 취합)
- 안드로이드 : JIRA에 작성 백엔드 임시 페이지
-
태스크 우선순위 선별
- MVP : Minimum Value Product 집중하자!!!
- 최소한 기능을 구현해놓고 덧붙여 나가자…
- 아래 우선순위 순으로 개발!
- 최상 : 지도화면, 게임플레이
- 상 : 타이틀/로그인/가입
- 중 : 친구 리스트
- 하 : 환경설정
- 최하 : 게시판, 채팅