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

2022.04.28

Scrum Master
박혜빈
createdAt
Apr 27, 2022 04:08 PM
type
Log
Constrouctor
📎
2022. 4. 28(목)
✨ 오늘의 토픽❗️스크럼 주의사항🗓 스크럼✏️ 김병연 🙋🏻 김형욱 🍗 박진형🦉 곽동운🐬 박혜빈
멘토님 say - 목표 달성률이 너무 낮습니다. 잘 합시다
  • 문제 원인
    • 한 번에 다 하려고 하다 보니 문제가 터지는 것 같음
    • 조금만 보면 더 알 것 같아서 이해할 수 있을 것 같아서 시간을 잘 못 소비하는 경향
  • 해결 방법
    • 스터디 준비나 다른 공부를 할 때 목표를 작게 보세요.
    • ex ) jvm 스터디는 평소에 조금씩 자기만의 목차, 작업 단위를 나눠서 하세요
    • 목표는 커밋처럼 !
  • 열허분 오늘은 즐거운 모교일 🎈

✨ 오늘의 토픽

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

  • 정수형 데이터 타입에 @Size()를 붙이면 자릿수를 판별할까요?
- 오류가 나는지 어떻게 되는지 실험을 해보자~
  • 포인트컷은 무엇이고 실질적으로 검증하는 역할은 @Valid만 하는것인가?
⇒ 위의 토픽들은 모두
📝
Validation
에 정리되어 있습니다.
[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월 우아한테크세미나
 

❗️스크럼 주의사항


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

🗓 스크럼

✏️ 김병연 

  • test code - 포기 함.(db connection refuse)
  • weekly-mission 쿠폰 등록 까지 마침
🔥 코어타임 TODO
weekly-mission 완성할 계획임
3주차 2일차 강의 복습
 ✨ 목표 달성률 : 50%
(100% 달성하지 못했다면 이유도 작성해주세요. 👀 )
🧐  목표 달성 하지 못한 이유는?
  • 현재 데이터베이스 커넥션 오류로 인해 sql test를 못하고 있는 상황에서 runtime으로 테스트를 진행하다 보니 생산성이 떨어지고 있다.
☕️ 저녁 TODO
  • weekly mission 기능 개발( 바우처 unmapping)
  • 토기책 reading
  • jvm GC 수행 원리

🙋🏻 김형욱 

  • 토끼책 모임을 가졌다.
  • 과제를 진행했다.
🔥 코어타임 TODO
클론코딩 개인 레포지토리에 1일차까지 다시 작성하기
GC 조사하기
 ✨ 목표 달성률 : 50%
🧐  목표 달성 하지 못한 이유는?
  • 집중이 안되서 밖에 나왔는데 이동하는 시간도 소모가 되었고 GC를 조사하고 공부하는데 시간을 좀 많이썻다. 다음부턴 일찍 나와야겠다.
☕️ 저녁 TODO
  • 남은 코어타임 일정 진행하기
  • 과제 진행하기
  • 토끼책 모임 진행하기

🍗 박진형

  • 어제 계획한 것들 다 수행했습니다.
 
🔥 코어타임 TODO
클론코딩 직접 만들어보기 Product 기능 까지?
토끼책 과제
weekly mission Customer에 대해서 어떤 테스트가 필요할지 리스트업
 ✨ 목표 달성률 : 30%
🧐  목표 달성 하지 못한 이유는?
  • DTO 관련 고민이 너무많아서 알아보다가 시간 뚝딱 지났습니다.. 요거는 살짝 뒤로 미뤄두고 3주차에 확실히하겠습니다
☕️ 저녁 TODO
  • 클론코딩 직접 만들어보기 Product 기능 까지?
  • 토끼책 읽기 과제하기 , 토끼책 모임
  • 테스트 코드 구현

🦉 곽동운

  • 클론코딩 완성
🔥 코어타임 TODO
클론코딩 Commit 정리 & Push
2주차 DB 기능 구현 (거래치, 바우처)
 ✨ 목표 달성률 : 80%
(100% 달성하지 못했다면 이유도 작성해주세요. 👀 )
🧐  목표 달성 하지 못한 이유는?
  • 목표에 충실하지 못했습니다.
    • 클론코딩 추가기능 구현... → 바우처 Service 기능 하나 남음.
☕️ 저녁 TODO

      🐬 박혜빈

      • 과제의 repostiroy 테스트 코드 작성 및 push 했습니다.
      • valid 찾아봤습니다.
      🔥 코어타임 TODO
      service 테스트 코드 작성
      repository 예외
       ✨ 목표 달성률 : 40%
      (100% 달성하지 못했다면 이유도 작성해주세요. 👀 )
      🧐  목표 달성 하지 못한 이유는?
      • 스터디하고 이것저것 정리하다보니 생각보다 시간이 많이 흘렀고, 시간 분배를 잘 못한 것 같습니다.
      ☕️ 저녁 TODO
      • 과제에 집중(심화 기능 제외..)