-
Notifications
You must be signed in to change notification settings - Fork 3
팀 구구콘의 개발 문화 💃
rimrim990 edited this page Aug 21, 2023
·
1 revision
하고 싶은 얘기는 담아두지 않고 얘기한다 🎙️
부정적인 감정을 표출하지 않는다 🙅🏻
메뉴는 쉬는 시간에 정한다 😅
한 주제 이야기가 길어지면 queue에 넣고 다음 이슈 먼저 이야기한다
(Round-Robin)
구구콘의 정시는 9시다 🔥
금요일은 문화의 날 💃 (오늘 할 일이 끝나면 6시 퇴근 가능)
목요일 오전 10시
- 온라인 회의로 진행한다
- 해당 주에 담당할 이슈를 공유한다
- 전날 배포에 관해 이슈가 있을 경우 공유한다
금요일 오후 1시
- 이전까지 해당 주에 맡은 이슈에 대해 develop 브랜치에 merge를 완료한다
- 데일리 스크럼 이후 개발 완료한 이슈에 대해 브리핑한다
- merge할 때는 squash해서 하나의 커밋에
feat: 기능 구현 (#PR번호)
형식으로 작성한다.
- main ← develop PR을 오픈한다
- 모든 팀원은 자신이 맡은 이슈에 대해 다시 한 번 확인하고, 버그 발견 시 fix 이슈 생성 후 해결한다
수요일 오후 9시
- main ← develop으로 merge한다
- 배포 된 결과에 대해 자체 QA를 진행하고, 버그 발견 시 hotfix 이슈로 추가한다
- 독립적인 기능 단위로 생성
- 1 이슈 1 PR
- 담당자를 제외한 모든 팀원을 리뷰어로 지정
- merge 조건
- 모든 리뷰어가 승인
- 빌드 및 테스트 통과
- 담당자만 merge 가능
주요 브랜치 (영구적)
- main: 배포용
- develop: 개발용
보조 브랜치 (일시적)
- feature: 기능 개발용
- hotfix: 긴급 버그 해결용
- fix: 버그 해결용
기능 개발
- main ← develop ← feature
버그 해결
- main ← hotfix
- develop ← fix
- 구글 자바 코드 컨벤션 적용
-
Column Limit
120자로 변경 - 인덴트 4로 변경
-
- 기본은 불변
- 클래스, 필드, 매개변수
- 한 함수에서는 하나의 기능만
- 엔티티는 Reference Type을 사용하고
@NotNull
,@Column(nullable = false)
적용
@DisplayName("Order 단위 테스트")
class OrderTest {
@Test
@DisplayName("오더를 생성한다")
public createOrder() {
// when & then
}
@Test
@DisplayName("아이디가 없으면 오더를 생성할 때 예외가 발생한다")
public createOrderFail_nullId() {
// given
// when
// then
}
}
- 메소드 이름을
(테스트할 함수 이름 + 결과)_(조건)
방식으로 작성 -
@DisplayName
형식은 given-when-then 으로 작성한다- 인수 테스트의 경우 then 부분에 상태 코드 응답을 적는다.
- 메소드 내에 주석으로
given-when-then
을 구분한다 - 인수 테스트 + 단위 테스트
- 메소드 signature가 120자 제한을 넘기는 경우, 모든 매개변수를 한 줄에 하나씩 쓴다
// 120 자 넘을 때
public void func(int a,
int b,
int c) {
}