05_week_code_review

신치우·2022년 10월 26일

devstroy

목록 보기
20/23

코드리뷰란?

  • SW 개발 단계에서 꼭 필요한 단계
  • 코드를 읽는 사람을 위해서 하는 것
  • SW 개발 계획 등이 아닌 코드의 변화에 대해서 하는것

코드리뷰를 왜 하는가?

  • 코드를 이해하기 쉽게 만듦
  • 코드의 comment를 통해서 tips, lessons을 배움
  • 팀이 공통된 코딩 스타일을 공유할 수 있음
  • 결함을 줄일 수 있음
  • code의 history를 공유할 수 있음 (중간에 팀원이 바뀌더라도 이어나갈 수 있음)
  • 다른 사람의 코드를 보면서 배울 수 있음
  • 코드가 투명해짐 --> 설명을 할 수 있어야해서

코드리뷰를 할때는 서로가 정한 가이드라인을 지켜야 함

ex)
1. 정해진 언어 사용
2. 새로운 함수 사용을 자제하자
등등

TEST와 debuging의 차이

Test-Driven Development
--> 우리가 구현해야할 요구사항과 구현체를 분리한다
--> 구현하기 전에 test를 먼저 만든다(corner case, edge case ..) (구현 후에 test 케이스를 만들면 구현에 맞는 test case를 만들수도 있게됨)
--> 테스트는 실행가능한 문서다 (언제나 코드와 연결이 되어있음)
--> 구글은 테스트가 없으면 코드를 커밋할 수 없음
--> 작게 빨리빨리 커밋을 해야함 한번에 몰아서 하면 틀린점을 찾기 어려움

Testing
Testing Rocks! Debug Sucks!
--> debuging은 보통 문제를 찾는데 엄청 시간이 오래 걸림
--> 새로 작성한 코드에서도 결함을 검출할 수 있음
--> 유지보수 부담을 줄임

pair programming
--> 둘이 같이 앉아서 하나의 머신으로 코딩 (사수와 부사수)

Testing 종류

  • Unit testing
  • Integration testing
  • Regression testing
  • End-to-End (E2E) testing

단계
1. 코드 update
2. code update owner가 comments를 동료들에게 요청함
3. 동료가 comments를 남김
4. review를 최소 2~3명이 남김 코드가 괜찮아보인다 라는 커멘트를 받으면
5. owner가 submit을 한다

코드 리뷰는 최소 두 명 이상이 해야 함
-- 해당 언어에 관한 전문가
-- project owner

주의사항

함수는 하나에 한번만 쓰기 등
--> 하는 일이 뭔지 알아야하고 명확해야하고 이름에서 드러나야함
--> 하는 일이 여러개면 뭘하는지 어렵고 디버깅도 어렵게됨

profile
https://shin8037.tistory.com/

0개의 댓글