✨ 오늘의 토픽
(발생했던 Issue나 공유하고 싶은 이야기들도 작성해주세요. 👀 )
- 정수형 데이터 타입에 @Size()를 붙이면 자릿수를 판별할까요?
- 오류가 나는지 어떻게 되는지 실험을 해보자~
- 포인트컷은 무엇이고 실질적으로 검증하는 역할은 @Valid만 하는것인가?
[LIVE] 지속가능한 SW 개발을 위한 코드리뷰 :: 4월 우아한테크세미나
- 뭔가 봤으면 하는? 내용을 추린? 리스트
- 좋은 Pull Request 예
- 병연님의 PR 템플릿 논제가 여기에 해당하지 않았을까 싶네요. 👀
- PR을 올릴 때 주석 달기 ← [효율적인 PR 방법]
- 🤔 PR Point나 궁금한 점을 이걸로 활용하면 어떨까요?
- 리뷰의 범위를 존중하라 ← [효율적인 리뷰 방법]
- 🤔 이것도 리뷰 문화에 추가하면 어떨가요?
- 진정한 칭찬을 해라, 의견이 아니라 원칙에 기반하여 피드백하라. ← [피드백 방법]
- 🤔 이것도 리뷰 문화에 추가하면 어떨가요?
- 코드 리뷰
- 개발자가 지금부터 당장 행할 수 있는 공유 활동
- 배움을 주고 받으며 지속가능한 SW 개발자가 될 수 있는 실천법
(Code SNS 댓글 놀이처럼?)
목적
- 주목적: 품질 문제 검수(버그, 장애)
- 더 나은 코드 품질: 아키텍처 속성 개선을 위한 코드 개선(향후 변경 비용 개선)
- 학습 및 지식 전달: 코드, 해결책 등과 같은 관련된 지식 공유 기여
- 공유(주고 받는 학습)를 통한 역량 증대 및 성장
- 동기 부여
→ 리뷰어들도
어떻게 소통해야 저 사람이 더 잘 받아들이는구나
와 같은 소프트 스킬 지식 Get! (친절한 공감능력, 가르치는 방법 등)→ 잘하는 사람 걸 보면
더 잘해야 겠군
하는 동기 부여가 된다.- 상호 책임감 증대
- 집단 코드 오너십 및 결속 증대
- 내가 하고 있는 일에 관심을 가져주는 것
- 팀에서 일어나는 일 공유. 내 동료는 무엇을 하나? 팀웍
- 설계 개선 제안
- 개발 문화 개선
왜 코드 리뷰가 어려운가?
효율적인 PR 방법
- 지루한 작업은 컴퓨터로 처리
- 스타일 가이드를 통해 스타일 논쟁을 해소 → 좋은거 하나 골라서 통일 해라..
- PR을 올릴 때 주석 달기

👀 PR 포인트나 궁금한 점을 이렇게 작성 할 수 있을듯?
- 모두를 포함하라
- 의미있는 커밋으로 분리
- 코드를 읽는 것은 인지적 부담이 되는 고수준의 집중이 요구되는 작업
- 컴퓨터가 할 수 있는 일에 이런 노력을 낭비하지 말라
- Formatting Tool
- 공백, 들여쓰기 오류 등
- 별도의 커밋/PR로 분리.
효율적인 리뷰 방법
- 코드 리뷰를 높은 우선순위로
- 저자는 리뷰 종료될 때까지 대기(Blocked)함
- 빨리 리뷰를 종료해주는 것이 우리 팀원들에게 도움이 된다.
- 리뷰를 바로 시작하면 선순환됨
- 바로 시작해서 빨리 끝내면 → 언제, 어떻게 올려야 더 빨리 리뷰 할수 있구나? Get!
- 이상적으로는 수분 내로... 👀
왓더..헬
- 리뷰 라운드의 최대 시간은 하루
- 우선순위 높은 업무로 1일 내 불가하면 다른 리뷰어 지정
- 월 1회 이상 재지정을 해야 한다면 속도를 줄여서 건강한 개발 관습을 유지할 수 있어야 함.

- “If it hurts, do it more often”
→ 리뷰가 힘듦? 어려움? 그럼 그게 없어질때 까지 하삼.
- 저 30분 30분 동안 PR 리뷰를 할 수있게 하기 위해서는 변경이 적도록 노력할 것이다.
고수준으로 시작, 저수준으로 내려가라
- 너무 많으면 ‘내가 이렇게 잘못했다고?`라고 느낄 수 있으니 적당히...
예제 코드 제공에 관대해라
- 별로 친하지 않은 사람에게 비싼 선물 주면 부담 스럽잖아유?
→ 너무 긴 예제, 많은 예제들은 자제하자
리뷰의 범위를 존중하라
효율적인 리뷰 방법

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

- 우리들끼리 정해서, 중요치 않은 키워드를 작성해서 무시할 수 있도록 할수도 있다.
- nitpicking? → (미구)사소한 것을 문제시하는(함), 남의 흠을 잡아내는(냄)
- 그런데 이런 것들도 코드리뷰 통해서 다 고친다고 함..
결함이 아니어도 리뷰어는 항상 더 개선할 수 있는 의견을 자유롭게 남길 수 있어야 한다!
→ 교육적인 목적, 지속적으로 기술을 연마하는 것을 돕는 목적
한두 등급만 코드 레벨을 올리는 것을 목표로
- A+가 D등급을 보고 ‘왜 A+로 못했냐!?’ 라고 하는 것보다 한단계 올릴것으로 해줘야 한다.
피드백 방법
코드 리뷰 문화 정착의 어려움 / 극복방법
코드 리뷰 효과

코드 리뷰를 잘 하기 위해 필요한 기술들
FAQ




❗️스크럼 주의사항
- 스크럼 내용은 구체적으로!
오늘의 목표를 설정해봅시다.
→ 마무리 스크럼 때, 목표 달성률을 산정하고, 100% 달성하지 못했다면 이유도 작성을 해봅시다.
- Todo 작성 시 주의사항
최대한 무리하지 않는 목표치를 세워 봅시다. (100% 달성할 수 있도록!)
객관적으로 자신의 능력에 대해 파악해보려는 것도 하나의 능력입니다. - 멘토님 -
- 팀원들의 테스크를 크로스 체킹하자!
지금 그 이슈를 해결하는게 합당한지! 질문하고 그에 맞는 피드백으로 서로서로 보완해 가며 목표치 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
repository 예외
✨ 목표 달성률 : 40%
(100% 달성하지 못했다면 이유도 작성해주세요. 👀 )
🧐 목표 달성 하지 못한 이유는?
- 스터디하고 이것저것 정리하다보니 생각보다 시간이 많이 흘렀고, 시간 분배를 잘 못한 것 같습니다.
☕️ 저녁 TODO
- 과제에 집중(심화 기능 제외..)