HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🍗
[New] 조규현팀
/
🐾
DailyLog
/
🦉
2022.05.09(월)
🦉

2022.05.09(월)

Scrum Master
곽동운
createdAt
May 9, 2022 03:44 AM
type
Log
Constrouctor
📎
2022. 5. 09(월)
✨ 오늘의 토픽❗️스크럼 주의사항🗓 스크럼✏️ 김병연 🙋🏻 김형욱 🍗 박진형🦉 곽동운🐬 박혜빈
멘토님 say !
  • JPA 시작...
notion image

✨ 오늘의 토픽

(발생했던 Issue나 공유하고 싶은 이야기들도 작성해주세요. 👀 )

페어 프로그래밍 권장 기간 ( 스펜서 매니저님 )
1차 : 백둥이 서로가 코드리뷰를 진행(스레드에 계속...)
2차 : 1차가 끝나야 2차로 멘토에게 코드리뷰 요청
 
1차 상세 내용
방법 1. 원의 형태로 서로 PR해주기를 한다.
  • 미션1 : A > B > C > D > E > A
  • 미션2 : A > C > B > D > E > A
  • 미션3 : A > E > D > C > B > A
방법 2. 2~3명으로 페어프로그래밍 하기(예시는 3명으로)
  • 미션1 : (A, B, C) , (D, E)
  • 미션2 : (A, C, E) , (B, D)
  • 미션3 : (A, D), (B, C, E)
방법 3. 과제 먼저 제출한 사람이 리뷰 요청자 먼저 정하기
  • 미션 1을 A가 먼저 제출했음, 이에 대한 리뷰어로 C를 지목
  • 미션 1을 B가 제출했음. 이에 C를 제외한 팀원을 리뷰어로 지목
  • 요청받은 리뷰어는 1일 이내에 리뷰를 해줘야 함
방법 4. Brute Force처럼 서로 다 해주기
 
notion image
→ 금주 관련 미션은 모두 다 함께 코드리뷰 해주는 걸로 결정!
 
[LIVE] 지속가능한 SW 개발을 위한 코드리뷰 :: 4월 우아한테크세미나
  • 뭔가 봤으면 하는? 내용을 추린? 리스트
    • 좋은 Pull Request 예
      • 병연님의 PR 템플릿 논제가 여기에 해당하지 않았을까 싶네요. 👀
    • PR을 올릴 때 주석 달기 ← [효율적인 PR 방법]
      • 🤔 PR Point나 궁금한 점을 이걸로 활용하면 어떨까요?
    • 리뷰의 범위를 존중하라 ← [효율적인 리뷰 방법]
      • 🤔 이것도 리뷰 문화에 추가하면 어떨가요?
    • 진정한 칭찬을 해라, 의견이 아니라 원칙에 기반하여 피드백하라. ← [피드백 방법]
      • 🤔 이것도 리뷰 문화에 추가하면 어떨가요?
       
  • 코드 리뷰
    • 개발자가 지금부터 당장 행할 수 있는 공유 활동
      • (Code SNS 댓글 놀이처럼?)
    • 배움을 주고 받으며 지속가능한 SW 개발자가 될 수 있는 실천법
목적
  • 주목적: 품질 문제 검수(버그, 장애)
  • 더 나은 코드 품질: 아키텍처 속성 개선을 위한 코드 개선(향후 변경 비용 개선)
  • 학습 및 지식 전달: 코드, 해결책 등과 같은 관련된 지식 공유 기여
    • 공유(주고 받는 학습)를 통한 역량 증대 및 성장
      • → 리뷰어들도 어떻게 소통해야 저 사람이 더 잘 받아들이는구나 와 같은 소프트 스킬 지식 Get! (친절한 공감능력, 가르치는 방법 등)
    • 동기 부여
      • → 잘하는 사람 걸 보면 더 잘해야 겠군 하는 동기 부여가 된다.
  • 상호 책임감 증대
    • 집단 코드 오너십 및 결속 증대
    • 내가 하고 있는 일에 관심을 가져주는 것
    • 팀에서 일어나는 일 공유. 내 동료는 무엇을 하나? 팀웍
  • 설계 개선 제안
  • 개발 문화 개선
왜 코드 리뷰가 어려운가?

PR은 작성자를 위함이 아닌 리뷰어 들을 위한 것이다.

  • 좋은 Pull Request 예
    • notion image
    • 프랑스의 수학 철학자 파스칼의 일화
      • “미안합니다. 편지를 짧게 쓸 시간이 없어서 길게 씁니다.”
  • 코드 리뷰는
    • 지식 / 공학적 결정을 공유하는 기회
    • 공유(잘한 것, 아쉬운 것)을 통해 서로의 지식/경험을 나누며 상호 학습을 통한 역량 증대 수단
    • 코드 토의를 개인적 공격으로 받아드리면 물거품
  • 생각을 글로 전달하는 것에 대한 어려움
    • → 오해의 위험이 크다. (음성 톤, 표정의 부재)
      ⇒ 피드백을 조심스럽게 표현하는 것이 중요!
효율적인 PR 방법
  • 지루한 작업은 컴퓨터로 처리
  • 스타일 가이드를 통해 스타일 논쟁을 해소 → 좋은거 하나 골라서 통일 해라..
  • PR을 올릴 때 주석 달기
    • notion image
      👀 PR 포인트나 궁금한 점을 이렇게 작성 할 수 있을듯?
  • 모두를 포함하라
  • 의미있는 커밋으로 분리
  • 코드를 읽는 것은 인지적 부담이 되는 고수준의 집중이 요구되는 작업
    • 컴퓨터가 할 수 있는 일에 이런 노력을 낭비하지 말라
  • Formatting Tool
    • 공백, 들여쓰기 오류 등
    • 별도의 커밋/PR로 분리.
효율적인 리뷰 방법
  • 코드 리뷰를 높은 우선순위로
    • 저자는 리뷰 종료될 때까지 대기(Blocked)함
    • 빨리 리뷰를 종료해주는 것이 우리 팀원들에게 도움이 된다.
  • 리뷰를 바로 시작하면 선순환됨
    • 바로 시작해서 빨리 끝내면 → 언제, 어떻게 올려야 더 빨리 리뷰 할수 있구나? Get!
    • 이상적으로는 수분 내로... 👀  왓더..헬
  • 리뷰 라운드의 최대 시간은 하루
    • 우선순위 높은 업무로 1일 내 불가하면 다른 리뷰어 지정
    • 월 1회 이상 재지정을 해야 한다면 속도를 줄여서 건강한 개발 관습을 유지할 수 있어야 함.
notion image
  • “If it hurts, do it more often”
    • → 리뷰가 힘듦? 어려움? 그럼 그게 없어질때 까지 하삼.
  • 저 30분 30분 동안 PR 리뷰를 할 수있게 하기 위해서는 변경이 적도록 노력할 것이다.

고수준으로 시작, 저수준으로 내려가라

  • 너무 많으면 ‘내가 이렇게 잘못했다고?`라고 느낄 수 있으니 적당히...

예제 코드 제공에 관대해라

  • 별로 친하지 않은 사람에게 비싼 선물 주면 부담 스럽잖아유?
    • → 너무 긴 예제, 많은 예제들은 자제하자

리뷰의 범위를 존중하라

효율적인 리뷰 방법
notion image
  • 처음하는 사람들이 실수 하는것
    • 리뷰 범위를 벗어난 것은 내비두자. (위의 예제의 9를 eight로 쓴것 마냥)
  • 두 번째꺼는 안의 구문이 사라졌기 때문에 메서드명의 변경이 필요하다.
    • → 요런건 또 넣어라!
해야 될것과 안해야 될것을 구분하라!

태그를 활용

효율적인 리뷰 방법
notion image
  • 우리들끼리 정해서, 중요치 않은 키워드를 작성해서 무시할 수 있도록 할수도 있다.
    • nitpicking? → (미구)사소한 것을 문제시하는(함), 남의 흠을 잡아내는(냄)
  • 그런데 이런 것들도 코드리뷰 통해서 다 고친다고 함..
결함이 아니어도 리뷰어는 항상 더 개선할 수 있는 의견을 자유롭게 남길 수 있어야 한다!
→ 교육적인 목적, 지속적으로 기술을 연마하는 것을 돕는 목적

한두 등급만 코드 레벨을 올리는 것을 목표로

  • A+가 D등급을 보고 ‘왜 A+로 못했냐!?’ 라고 하는 것보다 한단계 올릴것으로 해줘야 한다.

 
피드백 방법

진정한 칭찬을 해라

피드백 방법
notion image
  • 칭찬도 해라

좋은 피드백 예시

피드백 방법
notion image

의견이 아니라 원칙에 기반하여 피드백하라.

피드백 방법
notion image

반복적인 패턴에 대해서 피드백을 제한하라

  • 동일 패턴에 대해서는 2~3개 정도의 예를 언급하삼

교착상태를 적극적으로 처리해라

  • 만나서 예기하라
  • 구글에서 실제로 이거때문에 퇴사한 일이 있다고 함
 
코드 리뷰를 하는 아주 재밌는 방법

코드 리뷰를 하는 아주 재밌는 방법

추가적인 사례
notion image

코드 리뷰 문화 정착의 어려움 / 극복방법
Appendix
notion image

notion image

notion image
  • ‘담배 끊어라’ 예제
  • 모범이 되어라.
    • 백명석님도 라이브 코딩을 할때도 10번정도 연습하고 찍은 것도 있다고 함.
      • → 그만큼 더 노력해야 한다.

좋은 것을 우리 조직에게 전파하고 싶다? 당신이 잘해라!


notion image
  • 새로운 것을 도입한다고 해서 효과가 바로 오는것이 아니다!
코드 리뷰 효과
notion image
 
 
코드 리뷰를 잘 하기 위해 필요한 기술들

리팩터링

리팩터링을 한다고 하면서 이 책을 보지 않는게 이해되지 않는다.
notion image
notion image

Lagacy Code 다루기

notion image
  • 의존성을 깨서 테스트를 쉽게하는 방법들 등이 나온다고 함.

TDD & Clean Code

notion image
 
FAQ
notion image
notion image
notion image
notion image
[LIVE] 지속가능한 SW 개발을 위한 코드리뷰 :: 4월 우아한테크세미나
발표자료 신청링크]☞https://forms.gle/94XUhvvJKVg8kVFv8왜 코드리뷰를 해야할까요? 왜 코드리뷰는 어려울까요?지속가능한 SW개발을 위해!🙌 효율적인 Pull Request 작성기법과 리뷰기법, 코드리뷰를 잘하기 위해 필요한 기술 등에 대해서백명석(SK ...
[LIVE] 지속가능한 SW 개발을 위한 코드리뷰 :: 4월 우아한테크세미나
https://www.youtube.com/watch?v=ssDMIcPBqUE
[LIVE] 지속가능한 SW 개발을 위한 코드리뷰 :: 4월 우아한테크세미나
 
↑ 이야기 완료! → 코드 리뷰 문서에 업데이트 하고, 슬랙에 올릴 예정... 👀
 
  • 다음 TS 주제 : JVM TS - (수요일) 1부 발표 끝나고 일정 정하기

❗️스크럼 주의사항


  1. 스크럼 내용은 구체적으로!
    1. 오늘의 목표를 설정해봅시다.
      → 마무리 스크럼 때, 목표 달성률을 산정하고, 100% 달성하지 못했다면 이유도 작성을 해봅시다.
  1. Todo 작성 시 주의사항
    1. 최대한 무리하지 않는 목표치를 세워 봅시다. (100% 달성할 수 있도록!)
      객관적으로 자신의 능력에 대해 파악해보려는 것도 하나의 능력입니다. - 멘토님 -
  1. 팀원들의 테스크를 크로스 체킹하자!
    1. 지금 그 이슈를 해결하는게 합당한지! 질문하고 그에 맞는 피드백으로 서로서로 보완해 가며 목표치 100을 달성하는 일잘러가 되며 팀의 시너지는 더욱 극대화 됩니다. - 멘토님 -

🗓 스크럼

✏️ 김병연 

  • 과제 제출
🔥 코어타임 TODO
2주차 리팩터링
  • 네이밍
  • 컨벤션
jpa 강의
1-1
1-2
1-3
 ✨ 목표 달성률 : 60%
(100% 달성하지 못했다면 이유도 작성해주세요. 👀 )
🧐  목표 달성 하지 못한 이유는?
  • jpa 듣던중 영속 상태 테스트 하면서 객체의 동일성 문제로 인해 시간을 썻다.
☕️ 저녁 TODO
  • 토끼책 읽기
  • 2주차 과제 리팩토링 하기(1시간)

🙋🏻 김형욱 

  • 주말에 클론과제를 진행하고 제출했다.
  • 예외처리 방법 블로그를 보면서 따라 쳐보면서 정리했다.
  • 토끼책을 읽었습니다.
🔥 코어타임 TODO
JPA 강의 듣고 정리하기
알고리즘 문제 풀기
 ✨ 목표 달성률 : 60%
(100% 달성하지 못했다면 이유도 작성해주세요. 👀 )
🧐  목표 달성 하지 못한 이유는?
  • jpa 강의를 아직 다 못봤다.
☕️ 저녁 TODO
  • 강의 마저 듣기
  • 토끼책 모임 참여하기

🍗 박진형

  • 클론코딩 마무리 완
  • jpa 강의 좀 보다가 잤습니다.
🔥 코어타임 TODO
3주차 thymeleaf 작성
동운님 코드리뷰 관련 얘기 듣기
jpa 오늘자 모두 듣기 (1시간 예상)
 ✨ 목표 달성률 : 70%
 
🧐  목표 달성 하지 못한 이유는?
  • Entity Manager에 관해서 궁금한 것들이 많이 생겨서 찾아보느라 3주차 과제를 수행못했습니다.
☕️ 저녁 TODO
  • 토끼책 189p까지읽기 (1시간 예상)
  • EntityManager 관련된 내용 계속 찾아보기

🦉 곽동운

  • 클론 코딩 과제 제출
🔥 코어타임 TODO
JPA 강의 수강
 ✨ 목표 달성률 : 0%
(100% 달성하지 못했다면 이유도 작성해주세요. 👀 )
🧐  목표 달성 하지 못한 이유는?
  • 갑자기 급한 일이 생겨서 못함 😭
☕️ 저녁 TODO
  • JPA 강의 수강 예정
  • JPA 스터디

🐬 박혜빈

  • 클론 코딩 과제 제출
  • 책 읽기, JPA 강의 듣기
🔥 코어타임 TODO
JPA 과제 CRUD
JPA 책 (1장, 2장) 읽으면서 오늘 강의 내용 복습
 ✨ 목표 달성률 : 50%
(100% 달성하지 못했다면 이유도 작성해주세요. 👀 )
🧐  목표 달성 하지 못한 이유는?
  • 팀원들과 이슈에 대한 얘기를 나누다 보니 시간이 금방 가버렸습니다.
☕️ 저녁 TODO
  • JPA 스터디
  • JPA 과제 수정
  • JPA 1장, 2장, 3장 읽기