협업을 위한 클린코드
협업을 위한 클린코드 Samsung Software Academy For Youth하조은
View Slide
Overview경험 공유01담대한 협업과 클린코드라이브 코딩102나쁜 코드를 깨끗하게라이브 코딩203함수형 프로그래밍라이브 코딩304테스트와 스타일 가이드
경험 공유"담대한 협업과 클린코드"
Index야생 개발자01담대한 협업02클린코드03뱅샐 개발자04
야생 개발자01
야생?
Wild [waɪld] animals or plants live or growin natural surroundings and arenot looked after by people.
야생 개발자?
협업 경험이 적은 개발자
문과 출신 개발자
나름대로 문학소년
프로그래밍을처음 배우며 했던 생각
"프로그래밍,이거 제법 문과스러운데?"
시(詩) 쓰듯 프로그래밍
멋진 코드는함축적인 코드
대출 상품 페이지.html
우아한 코드는적당히 어려운 코드
깨끗한 코드는짧고 예쁜 모양의 코드
조금 어려워도 옆사람만이해하면 된거 아니야?
응, 아니야
협업을 위한코드가 아니니까
협업을 위한 코드?
담대한 협업02
담대한 협업?
공유와 피드백
냄맡빠공
냄새를맡으면빠르게공유
개발자의 공유와 피드백
코드 리뷰
개발자의 담대한 협업코드 리뷰를 잘하는 것
협업하기 좋은 코드리뷰하기 좋은 코드
클린코드03
Subject깨끗한 코드01의미있는 이름02함수와 주석03오류 처리04
Subject깨끗한 코드01의미있는 이름02함수와 주석03오류 처리043장과 4장의 내용7장의 내용
코드의 품질을 측정하는 척도분당 "이건 뭐지?"를 외치는 정도
WTF?WTF?WTF?WTF?WTF?WTF?WTF?
WTF?!!?@WTF?!!@!?@!!
깨끗한 코드"깨끗한 코드는 잘 쓴 문장처럼 읽힌다"by. Grady Booch (p.10)
간결하지만잘 읽히진 않는다
문장으로 읽힌다
의미 있는 이름"의도를 분명하게 밝혀라"by. Uncle Bob (p.23)
의미 있는 이름은의도를 분명히 드러낸다
의미 있는 이름은팀을 소통하게 만든다
함수"프로그래밍은 여느 글짓기와 비슷하다"by. Uncle Bob (p.61)
서술적으로표현하기
주석
코드 자체가 글인데주석은 왜 써야해? by. Uncle Bob (ࢳী ೠ Ѽ೧)
주석을 쓰기 시작하면코드의 가독성이 떨어진다
주석 대신 코드로이야기하자
서술적인이름을 짓자
오류 처리"논리와 오류 코드를 뒤섞지 마라"by. Uncle Bob (p.142)
논리와 오류 코드를뒤섞지 마라
비즈니스 로직에집중할 수 있게 해라
논리와 로깅 코드를뒤섞지 마라
"필터가 변경될 때마다이벤트 로그를 남겨주세요!"
로깅 코드가 숨어들어 논리에 집중하기 어려움
논리와 로깅 코드를뒤섞지 말자
로깅 코드가 분리되어논리에 집중된다
Summary깨끗한 코드01문장처럼 읽힌다의미있는 이름02의도를 드러내라함수와 주석03프로그래밍은 글짓기오류 처리04논리에 집중해라
뱅샐 개발자04
멋진 코드는함축적인 코드?
멋진 코드는설명이 필요 없는 코드!
우아한 코드는적당히 어려운 코드?
우아한 코드는예상 가능한 코드!
깨끗한 코드는짧고 예쁜 모양의 코드?
깨끗한 코드는수정이 용이한 코드!
휴가 떠나서 불안해 하지 말자
클린코드는협업을 위한 코드다
라이브 코딩1"나쁜 코드를 깨끗하게"
나쁜 코드를 깨끗하게리팩토링 해보자
https://github.com/joeunha/clean-code-ssafySource Code
Remind깨끗한 코드01문장처럼 읽힌다의미있는 이름02의도를 드러내라함수와 주석03프로그래밍은 글짓기오류 처리04논리에 집중해라
Live Coding ▶
라이브 코딩2"든든한 우리형, 함수형"
"깨끗한 코드는한 가지를 제대로 한다"by. Bjarne Stroustrup
클린코드를 위한함수형 프로그래밍
한 가지를 제대로 하는 방법
논리를 꼬집어라
결괏값으로 소통하라
함수를 합성하라
라이브 코딩3"테스트와 스타일 가이드"
믿을 수 없는 코드
믿을 수 있는 조건을검증하는 방법 ✅
Unit Test
JEST
서로 다른 코드 스타일
일관된 코드 스타일을적용하기 위한 도구
LINT
ESLint
Thank You