플리토 코드리뷰 - code review in flitto
TRANSCRIPT
![Page 1: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/1.jpg)
CODE REVIEW
![Page 2: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/2.jpg)
눈치�보는�나,�오해하는�당신
![Page 4: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/4.jpg)
켄트백�구현패턴�中
![Page 5: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/5.jpg)
HOW
![Page 6: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/6.jpg)
+
![Page 7: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/7.jpg)
feature/<new_feature_name>
bugfix/<new_issue_name> bugfix/<JIRA issue number>
![Page 8: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/8.jpg)
masterdevelopbugfix branchesfeature branches
tag/v2.4.1
tag/v2.4.0
tag/v2.5.0
![Page 9: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/9.jpg)
작업�마무리�되면�<develop>�으로�Pull�Request
![Page 10: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/10.jpg)
Who is Reviewer?
![Page 11: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/11.jpg)
Android Developer 도 iOS 리뷰하자 iOS Developer 도 Android 리뷰하자
![Page 12: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/12.jpg)
작업�로그를�잘�남겨두자단,�
Dev.Log
![Page 13: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/13.jpg)
Code conventionCommit Msg formatDev.Log
Not Only for Code Review, just for Team
![Page 14: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/14.jpg)
한번씩은�해보자.�
주별로�Review Master
![Page 15: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/15.jpg)
라인�단위�@리뷰
![Page 16: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/16.jpg)
만약�리뷰(댓글)가�있을�경우,��리뷰에�대한�피드백을�한다
![Page 17: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/17.jpg)
리뷰가�끝나면��최종�확인�메시지를�남긴다
![Page 18: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/18.jpg)
はやく한�작업이�아니라면�
리뷰요청 진행작업
![Page 19: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/19.jpg)
그�날�받은�PR은�그�날�리뷰하자
Do Not 귀찮아
![Page 20: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/20.jpg)
Release
Pull RequestMerge
<master>
<develop>
TAG
QA
![Page 21: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/21.jpg)
![Page 22: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/22.jpg)
이�아닌….
![Page 23: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/23.jpg)
![Page 24: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/24.jpg)
오타�예외�처리�(exception,�null�point)��라이브러리�추천�코드�제안�(로직�제안)�Q&A
컨벤션�(네이밍,�괄호,�들여쓰기,�주석)
![Page 25: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/25.jpg)
컨벤션�(네이밍,�괄호,�들여쓰기,�주석)
발생빈도는�초기에는�높으나
초기�한달�정도는�좋음.�PR�과정을�여러번�하다보면�저절로�없어짐,�컨벤션�확인을�자동화필요
컨벤션,�오타�찾기는�부가적
중요도는�낮아야�함
![Page 26: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/26.jpg)
!앗
![Page 27: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/27.jpg)
비난하기�위한�리뷰가�아닌��
코드�품질을�위한�리뷰를�하자
![Page 28: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/28.jpg)
git stashgit stash listgit stash pop
작업중�발생한�다른�이슈는��
같은�브랜치에�포함하지�않음
![Page 29: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/29.jpg)
conflict으로�인한 auto-merging이�되지�않는�경우
![Page 30: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/30.jpg)
아직까지는�Push를�막지�않음
긴급�배포�git�blame(비난)�받지�않을만큼�테스트�후�바로�Push하거나�주위의�동료에게�코드리뷰를�요청�
![Page 31: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/31.jpg)
만약�2명이상�작업을�하거나�작업이�큰�경우�
?
developfeature branches
feature/Afeature/A1feature/A2
PR
![Page 32: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/32.jpg)
developfeature branches
feature/b2bfeature/b2b_dev
Pull
Pull Request
Yesterday
![Page 33: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/33.jpg)
developfeature branches
feature/b2bfeature/b2b_dev
Pull Request
Pull
Yesterday
![Page 34: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/34.jpg)
!아~
![Page 35: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/35.jpg)
장점
![Page 36: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/36.jpg)
코드를�읽게�되고�그를�통해�배움�로직,�예외�처리에�대한�리뷰와�논의로�프로젝트가�안정화�소수�인원의�온라인�리뷰로�인한�시간�절약�나보다�뛰어난�엔지니어의�리뷰로�인한�실력의�향상�코드리뷰를�통한�코드�품질�향상�변경이�용이한,�테스트�코드가�잘�동작하도록�미리�설계
![Page 37: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/37.jpg)
단점
![Page 38: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/38.jpg)
자주�하나의�PR에�많은�양의�코드�리뷰�가끔�iOS�로직을�모른다라는�핑계로�리뷰�집중력�저하�잦은�Pull�Request로�리뷰�시간이�많이�소모됨�온라인�리뷰의�한계를�지님�(가끔�오프라인�리뷰도�필요)�시니어는�배움에�대한�한계
![Page 39: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/39.jpg)
어떤�자세가�필요한가?
![Page 40: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/40.jpg)
Reviewee
commit�하기�전에�리팩토링이나�재확인�commit�단위를�잘�나누어�Pull�Request�리뷰가�필요한지�안한지�잘�판단하는�것이�중요�리뷰에�대한�본인의�의도를�리뷰어에게�잘�설명함
![Page 41: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/41.jpg)
Reviewer
꼼꼼하게�되도록�라인단위의�리뷰�피드백이�마음에�들지�않는다면�추후에�직접�수정�서로간에�분쟁이�생길경우�리뷰이가�판단하도록�믿김�코드�품질보다�팀워크가�중요
![Page 42: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/42.jpg)
Flittoolcon
![Page 43: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/43.jpg)
commit�하기�전��
IDE로�리팩토링�쉽게하기
![Page 44: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/44.jpg)
TDD AddTestCase
Test Fail
WriteCode
RunTest
Refactor
REPEAT
![Page 45: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/45.jpg)
TDD
Pair Programming+
= Good
![Page 46: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/46.jpg)
![Page 47: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/47.jpg)
Intelligent�한�Tool을�쓰니까�Intelligent�를�느껴봐야죠
![Page 48: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/48.jpg)
자주�쓰는�간단한�shortcuts
![Page 49: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/49.jpg)
어르신에게�친절하게 greet()하지만�누군가는 move()
간단하게�믿고�따라하는�예제 hometown.js
![Page 50: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/50.jpg)
Github Refactoring Sample
https://github.com/kimkevin/refactoring_sample
![Page 51: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/51.jpg)
시연
![Page 52: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/52.jpg)
Cmd + F6 : RenameCmd + Opt + N : InlineCmd + Opt + M : Extract MethodCmd + Opt + V : Extract Variable
[추가]
![Page 53: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/53.jpg)
Cmd + F6 : Rename
[추가]
![Page 54: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/54.jpg)
Cmd + Opt + N : Inline… (Function & Variable)
[추가]
![Page 55: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/55.jpg)
Cmd + Opt + M : Extract Method
[추가]
![Page 56: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/56.jpg)
Cmd + Opt + V : Extract Variable
[추가]
![Page 57: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/57.jpg)
Q&A
![Page 58: 플리토 코드리뷰 - Code Review in Flitto](https://reader034.vdocuments.net/reader034/viewer/2022052117/58f1b6881a28ab74298b45a5/html5/thumbnails/58.jpg)
감사합니다
Thank youありがとうございます
Se�lo�agradezco
Terima�kasih