SlideShare a Scribd company logo
체계적인 정리법이 필요하다.
charsyam@naver.com
Clean code pm
지저분한 코드
지저분한 코드
새로운 요구사항
지저분한 코드
새로운 요구사항
적용이 어려움
지저분한 코드
새로운 요구사항
적용이 어려움
급조한 코드
지저분한 코드
새로운 요구사항
적용이 어려움
급조한 코드
지저분한 코드의 악순환
무엇이
지저분한 코드 일까?
나쁜 냄새
http://blog.naver.com/aie76?Redirect=Log&logNo=40041302913
중복된 코드
긴 메서드
거대한 클래스
긴 파라매터 리스트
확산적 변경
산탄총 수술
기능에 대한 욕심
데이터 덩어리
기본 타입에 대한
강박관념
Switch 문
평행 상속 구조
게으른 클래스
추측성 일반화
Over Engineering
Temporary Field
Message Chains
Middle Man
부적젃한 친밀
다른 인터페이스를
가진 대체 클래스
불완젂한 라이브러리
클래스
데이터 클래스
거부된 유산
Comments
지저분한 코드를 만드는 케이스
지저분한 코드를 만드는 케이스
Case By Case 코드
지저분한 코드를 만드는 케이스
Case By Case 코드
커뮤니케이션의 부족
지저분한 코드를 만드는 케이스
Case By Case 코드
소스의 이해부족
-> 잘못된 수정
커뮤니케이션의 부족
지저분한 코드를 만드는 케이스
Case By Case 코드
소스의 이해부족
-> 잘못된 수정
높은 결합도로
인한 부작용
커뮤니케이션의 부족
지저분한 코드를 만드는 케이스
Case By Case 코드
소스의 이해부족
-> 잘못된 수정
높은 결합도로
인한 부작용
‘역사적인 이유로~’
라면 시작되는 변명
커뮤니케이션의 부족
지저분한 코드를 만드는 케이스
Case By Case 코드
소스의 이해부족
-> 잘못된 수정
높은 결합도로
인한 부작용
문서(주석)와 다른 소스
‘역사적인 이유로~’
라면 시작되는 변명
커뮤니케이션의 부족
지저분한 코드를 만드는 케이스
무책임한 개발자
Case By Case 코드
소스의 이해부족
-> 잘못된 수정
높은 결합도로
인한 부작용
문서(주석)와 다른 소스
‘역사적인 이유로~’
라면 시작되는 변명
커뮤니케이션의 부족
소스는 만드는 것보다
관리하는 것이 중요하다.
Clean code pm
깨끗한 코드
깨끗한 코드
새로운 요구사항
깨끗한 코드
새로운 요구사항
적용이 쉬움
깨끗한 코드
새로운 요구사항
적용이 쉬움
동일성 있는 코드
깨끗한 코드
새로운 요구사항
적용이 쉬움
동일성 있는 코드
깨끗한 코드의 선순환
깨끗한 코드를 만드는 원칙
깨끗한 코드를 만드는 원칙
1. Easy Code
깨끗한 코드를 만드는 원칙
1. Easy Code
2. 통일성 있는 코드
깨끗한 코드를 만드는 원칙
1. Easy Code
2. 통일성 있는 코드
3. 리팩토링
TIP
자신이 생각한 시갂의
3배를 잡아라.
TIP
자신이 생각한 시갂의
3배를 잡아라.
스펙 작성
TIP
자신이 생각한 시갂의
3배를 잡아라.
스펙 작성
테스트
TIP
자신이 생각한 시갂의
3배를 잡아라.
스펙 작성
테스트정리 문서
작업 완료의 의미는 다르다.
코딩을 막 끝내고, 몇 번 동작해보니 돌아갑니다.
코드 작성 + 신뢰성 있는 테스트 + 코드 정리(리뷰)+문서 작성
THANK YOU!

More Related Content

PDF
Gae datastore
PDF
Command processor
PDF
Gae users service
PDF
Monitor object
PDF
Server modeling with mysql
PDF
Whole part
PDF
Proactor
PDF
Process
Gae datastore
Command processor
Gae users service
Monitor object
Server modeling with mysql
Whole part
Proactor
Process

More from DaeMyung Kang (20)

PPTX
Count min sketch
PDF
PDF
Ansible
PDF
Why GUID is needed
PDF
How to use redis well
PPTX
The easiest consistent hashing
PDF
How to name a cache key
PDF
Integration between Filebeat and logstash
PDF
How to build massive service for advance
PDF
Massive service basic
PDF
Data Engineering 101
PDF
How To Become Better Engineer
PPTX
Kafka timestamp offset_final
PPTX
Kafka timestamp offset
PPTX
Data pipeline and data lake
PDF
Redis acl
PDF
Coffee store
PDF
Scalable webservice
PDF
Number system
PDF
webservice scaling for newbie
Count min sketch
Ansible
Why GUID is needed
How to use redis well
The easiest consistent hashing
How to name a cache key
Integration between Filebeat and logstash
How to build massive service for advance
Massive service basic
Data Engineering 101
How To Become Better Engineer
Kafka timestamp offset_final
Kafka timestamp offset
Data pipeline and data lake
Redis acl
Coffee store
Scalable webservice
Number system
webservice scaling for newbie
Ad

Clean code pm