협업을 위한 환경 세팅

Ariul·2022년 8월 29일
0
post-thumbnail

6주 동안 실전 프로젝트를 진행하면서 학습한 내용을 기록하고, 팀의 리더로서 프로젝트 매니징 경험을 기록하는 시리즈입니다.


그라운드 룰 정하기

팀원들과 각자 6주 동안 꼭 지켰으면 하는 것, 얻어 가고 싶은 것 등에 대해 이야기를 나누고 그에 맞게 그라운드 룰을 정했다.

✅ 오전 11시에 매일 게더에서 스크럼을 진행하고 이슈를 공유한다.

✅ 무슨 일이 있어도 화내지 않는다. 서로 존중하고 배려하며 소통한다.

✅ 하차 또는 잠수 타지 않는다.

✅ 개인적인 일정이 있을 때 팀원들과 무조건 공유한다.

✅ 게더에서 많이, 그리고 자주 소통한다.

✅ 기술을 사용할 때는 ‘이걸 왜 사용하는지’에 대해 다같이 진득하게 고민해보고 사용한다.

✅ 이 시기를 되돌아봤을 때, 스스로 후회하지 않을 만큼 치열하게 6주를 보낸다.

노션 워크스페이스 생성

  1. 회의록 페이지에서 매일 회의한 내용을 기록한다.
  2. 문서 페이지에서 공부 자료와 프로젝트 관련 자료를 공유한다.
    문서
  3. 캘린더와 보드를 사용하여 팀 일정을 관리한다.
    팀일정
  4. 프로젝트 로드맵으로 각자 작업의 진행 상황을 공유한다.
    프로젝트로드맵

깃플로우 전략 및 코드 컨벤션

Git-flow

전략

  • feature > develop > main
  • 메인 브랜치(Main branch)
    • 배포 가능한 상태만을 관리하는 브랜치
  • 디벨롭 브랜치(Develop branch)
    • 통합 브랜치의 역할, default 브랜치로 설정함.
  • 피처 브랜치(Feature branch)
    • 기능을 개발하는 브랜치, develop 브랜치로부터 분기
    • 브랜치명은 'feature/#이슈번호' 형태로 통일
    • 기능을 다 완성할 때까지 유지하고, 다 완성되면 develop 브랜치로 merge
  • 피드백이나 도움이 필요할 때, 그리고 merge 준비가 완료되었을 때는 develop 브랜치로 Pull Request를 생성한다.
  • 기능에 대한 리뷰와 논의가 끝나면 develop 브랜치로 merge한다.

규칙

  • 커밋 메시지는 '[#이슈번호] Feat: @@@@ 기능 구현' 형태로 통일한다.
  • 이슈를 생성할 때는 자신이 해야할 일이 무엇인지 누구나 쉽게 파악할 수 있도록 자세히 작성한다.
  • PR을 올릴 때는 자신이 한 일이 무엇인지 누구나 쉽게 파악할 수 있도록 자세히 작성한다.

코드 컨벤션

<규칙>

  1. public 과 private이 한 파일 안에 작성될 경우 첫 번째 클래스 혹은 인터페이스는 public이 먼저 위치해야 한다.

  2. 하나의 파일에 여러 개의 다른 구조(기능, 등등)가 들어갈 경우 각각의 구조는 공백이나 주석을 통해서 구역이 구분되어야 한다. 또한 2000 줄이 넘어가면 파일을 분리하는 것이 좋다.

  3. 한 줄에 80자 이상 쓰는 것은 가독성이 저하됨으로 2줄로 나눠야 한다. 나누는 기준은 다음과 같다.
    1) 콤마 후에 두 줄로 나눈다.
    2) 연산자 앞에서 두 줄로 나눈다.
    3) 낮은 원칙 보다는 레벨이 높은 원칙에 따라 두 줄로 나눈다.
    4) 앞줄과 같은 레벨의 식이 시작되는 새로운 줄에서 나누고 앞줄과 들여쓰기를 일치시킨다.

  4. Controller에서 파라미터를 받을 때 코드가 너무 길어지면 어노테이션 별로 나눈다.

ex)

@PostMapping("/{postId}")
    public ResponseEntity creatComment(@PathVariable(name = "postId") Long postId,
                                       @RequestBody CommentRequestDto requestDto) {

}
  1. 선언은 한 줄 당 하나의 선언문을 사용한다.
  2. K&R 스타일로 중괄호 선언한다. 줄 마지막에 '{'를 사용하고 블럭을 종료할 때는 새 줄을 삽입하고 '}'를 사용하여 종료한다.

ex)

if (xxxx){
    return xxx;
}
  • else,catch,finally, while등은 닫는 '}' 뒤에 사용한다.

ex)

if (xxxx){
    return xxx;
}else{
    return xxx;
}

<변수명 작성 방법>

  1. 클래스나 메소드명은 파스칼 표기법을 따른다.(모든 단어에서 첫 문자는 대문자 나머지는 소문자)ex) HelloWorld, NameViva
  2. 변수, 파라미터 등은 카멜 표기법을 따른다.ex) helloWorld, nameViva
  3. 메서드 이름은 동사/전치사로 시작한다.ex) countNumber, withUserId
  4. 상수는 대문자로 작성하고 복합어인 경우 '_'를 사용하여 단어를 구분한다. ex) public final int SPECIAL_NUMBER = 1;
profile
정성과 진심을 담아 흔적을 기록하자💡

0개의 댓글