SlideShare a Scribd company logo
1 of 14
Clean Code
초 간단한 리뷰
목차
• 가정
• 인식의 변화
• 원칙
– 이름의 중요성
– 단일 책임 원칙 (SRP)
– 중복 제거
• 단위 테스트
• 함수
• 클래스
• 동시성
• 주석
• 변화에 대처하는 우리들의 자세
가정
• OOP
• Java
• Eclipse
• Non-game
• TDD
• Agile
인식의 변화
• 돌아가는 코드가 끝이 아니다.
– 지속적인 통합
– 보이스카우트 규칙
• 코딩 자체만이 개발의 전부는 아니다.
– 설계
– 단위 테스트
– 리팩토링
원칙
• 이름의 중요성
• 단일 책임 원칙 ( SRP)
• 중복 제거
이름의 중요성
• 서술적인 이름
• 비슷한 추상화 레벨
• 검색이 가능한 이름
• 자신의 기억력을 자랑하지 마라
단일 책임 원칙
• Single Responsibility Principle
• 여러개의 책임을 동시에 맡지 않는다.
중복제거
• 코드 자체의 중복
• 알고리즘의 중복
• 패턴의 중복
– If else문
단위 테스트
• 원칙
– 테스트 케이스 하나당 하는일은 하나
• 외부에서 보았을 때
– 학습 테스트(라이브러리를 파악하는 좋은 방법)
• 테스트는 유연성, 유지보수성, 재사용성을
제공
함수
• 원칙
– 함수 하나당 하는일은 하나
– 중복 코드는 하나의 함수로
• 함수 parameter는 가능한 작게
• NULL 반환도 하지 말고 전달도 하지 말도록
• error 반환 보다는 exception handling
• 함수 이름은 그 안에서 일어나는 모든 것을
표현하도록
클래스
• 원칙
– 클래스가 하는 일은 하나
– 중복되는 로직은 polymorphism으로 해결
– Interface, abstract class
• 클래스는 작아야 한다.
– Cohesion
동시성
• 원칙
– 동시성 방어 원칙
• 라이브러리를 이해하라
– Concurrent Queue
• 실행 모델을 이해하라
– 생산자-소비자
– 읽기-쓰기
주석
• 코드로 의도를 표현
• 코드로 표현할 수 없는 것
– 법적인 주석
– TO DO
변화에 대처하는 우리들의 자세
• 책의 구성
– 반정도는 실제 코드 변화과정
– 지루함
– 당위성 설명
• 실제로 해보고 느껴보기

More Related Content

Viewers also liked

Lss excellence award 2014 - Ambiente & Sostenibilità
Lss excellence award 2014 - Ambiente & SostenibilitàLss excellence award 2014 - Ambiente & Sostenibilità
Lss excellence award 2014 - Ambiente & SostenibilitàRadiciGroup
 
Bozica dimitrijevic prezentacija.ppsx
Bozica dimitrijevic prezentacija.ppsxBozica dimitrijevic prezentacija.ppsx
Bozica dimitrijevic prezentacija.ppsxpresentacija1
 
Il bilancio di sostenibilità - l'esperienza di RadiciGroup
Il bilancio di sostenibilità - l'esperienza di RadiciGroupIl bilancio di sostenibilità - l'esperienza di RadiciGroup
Il bilancio di sostenibilità - l'esperienza di RadiciGroupRadiciGroup
 
Development of Cochrane Response part 1
Development of Cochrane Response part 1Development of Cochrane Response part 1
Development of Cochrane Response part 1Juliane Ried
 
Altevie Technologies - SAP SuccessFactors Cloud offering
Altevie Technologies - SAP SuccessFactors Cloud offeringAltevie Technologies - SAP SuccessFactors Cloud offering
Altevie Technologies - SAP SuccessFactors Cloud offeringAltevie Technologies
 
Marketing template
Marketing templateMarketing template
Marketing templatechrisfortin4
 
Báo giá thùng rác các loại
Báo giá thùng rác các loạiBáo giá thùng rác các loại
Báo giá thùng rác các loạiLê Linh
 
Sustainability as a source of market opportunities: the challenges of an inte...
Sustainability as a source of market opportunities: the challenges of an inte...Sustainability as a source of market opportunities: the challenges of an inte...
Sustainability as a source of market opportunities: the challenges of an inte...RadiciGroup
 
Collaborating with Open Source for Mixed IT Solutions in the Cloud
Collaborating with Open Source for Mixed IT Solutions in the CloudCollaborating with Open Source for Mixed IT Solutions in the Cloud
Collaborating with Open Source for Mixed IT Solutions in the CloudThe Microsoft Openness Network
 

Viewers also liked (20)

Lss excellence award 2014 - Ambiente & Sostenibilità
Lss excellence award 2014 - Ambiente & SostenibilitàLss excellence award 2014 - Ambiente & Sostenibilità
Lss excellence award 2014 - Ambiente & Sostenibilità
 
Bozica dimitrijevic prezentacija.ppsx
Bozica dimitrijevic prezentacija.ppsxBozica dimitrijevic prezentacija.ppsx
Bozica dimitrijevic prezentacija.ppsx
 
Il bilancio di sostenibilità - l'esperienza di RadiciGroup
Il bilancio di sostenibilità - l'esperienza di RadiciGroupIl bilancio di sostenibilità - l'esperienza di RadiciGroup
Il bilancio di sostenibilità - l'esperienza di RadiciGroup
 
Location
LocationLocation
Location
 
telvo Creative 's by Zoheb
telvo Creative 's by Zohebtelvo Creative 's by Zoheb
telvo Creative 's by Zoheb
 
Development of Cochrane Response part 1
Development of Cochrane Response part 1Development of Cochrane Response part 1
Development of Cochrane Response part 1
 
Daily rutine
Daily rutineDaily rutine
Daily rutine
 
Altevie Technologies - SAP SuccessFactors Cloud offering
Altevie Technologies - SAP SuccessFactors Cloud offeringAltevie Technologies - SAP SuccessFactors Cloud offering
Altevie Technologies - SAP SuccessFactors Cloud offering
 
Marketing template
Marketing templateMarketing template
Marketing template
 
Poland
PolandPoland
Poland
 
Báo giá thùng rác các loại
Báo giá thùng rác các loạiBáo giá thùng rác các loại
Báo giá thùng rác các loại
 
Agroinform news
Agroinform newsAgroinform news
Agroinform news
 
Antartika
AntartikaAntartika
Antartika
 
Key criteria for shale oil
Key criteria for shale oilKey criteria for shale oil
Key criteria for shale oil
 
Sustainability as a source of market opportunities: the challenges of an inte...
Sustainability as a source of market opportunities: the challenges of an inte...Sustainability as a source of market opportunities: the challenges of an inte...
Sustainability as a source of market opportunities: the challenges of an inte...
 
Uk accred
Uk accredUk accred
Uk accred
 
Personajes
PersonajesPersonajes
Personajes
 
Collaborating with Open Source for Mixed IT Solutions in the Cloud
Collaborating with Open Source for Mixed IT Solutions in the CloudCollaborating with Open Source for Mixed IT Solutions in the Cloud
Collaborating with Open Source for Mixed IT Solutions in the Cloud
 
Dhaka Fashion Fiesta final
Dhaka Fashion Fiesta finalDhaka Fashion Fiesta final
Dhaka Fashion Fiesta final
 
Ejercicios 4 - Matematica II
Ejercicios 4 - Matematica IIEjercicios 4 - Matematica II
Ejercicios 4 - Matematica II
 

Similar to Clean code short review

Oop design principle
Oop design principleOop design principle
Oop design principleRyan Park
 
OOP SOLID PRINCIPLE(KOREAN)
OOP SOLID PRINCIPLE(KOREAN)OOP SOLID PRINCIPLE(KOREAN)
OOP SOLID PRINCIPLE(KOREAN)Daeyeon Kim
 
객체지향 프로그래밍 기본
객체지향 프로그래밍 기본객체지향 프로그래밍 기본
객체지향 프로그래밍 기본용호 최
 
Oop design principle SOLID
Oop design principle SOLIDOop design principle SOLID
Oop design principle SOLIDRyan Park
 
[자바카페] 자바 객체지향 프로그래밍 (2017)
[자바카페] 자바 객체지향 프로그래밍 (2017)[자바카페] 자바 객체지향 프로그래밍 (2017)
[자바카페] 자바 객체지향 프로그래밍 (2017)용호 최
 
[Dev rookie]designpattern
[Dev rookie]designpattern[Dev rookie]designpattern
[Dev rookie]designpattern대영 노
 
10장 클래스
10장 클래스10장 클래스
10장 클래스kidoki
 

Similar to Clean code short review (7)

Oop design principle
Oop design principleOop design principle
Oop design principle
 
OOP SOLID PRINCIPLE(KOREAN)
OOP SOLID PRINCIPLE(KOREAN)OOP SOLID PRINCIPLE(KOREAN)
OOP SOLID PRINCIPLE(KOREAN)
 
객체지향 프로그래밍 기본
객체지향 프로그래밍 기본객체지향 프로그래밍 기본
객체지향 프로그래밍 기본
 
Oop design principle SOLID
Oop design principle SOLIDOop design principle SOLID
Oop design principle SOLID
 
[자바카페] 자바 객체지향 프로그래밍 (2017)
[자바카페] 자바 객체지향 프로그래밍 (2017)[자바카페] 자바 객체지향 프로그래밍 (2017)
[자바카페] 자바 객체지향 프로그래밍 (2017)
 
[Dev rookie]designpattern
[Dev rookie]designpattern[Dev rookie]designpattern
[Dev rookie]designpattern
 
10장 클래스
10장 클래스10장 클래스
10장 클래스
 

Clean code short review

  • 2. 목차 • 가정 • 인식의 변화 • 원칙 – 이름의 중요성 – 단일 책임 원칙 (SRP) – 중복 제거 • 단위 테스트 • 함수 • 클래스 • 동시성 • 주석 • 변화에 대처하는 우리들의 자세
  • 3. 가정 • OOP • Java • Eclipse • Non-game • TDD • Agile
  • 4. 인식의 변화 • 돌아가는 코드가 끝이 아니다. – 지속적인 통합 – 보이스카우트 규칙 • 코딩 자체만이 개발의 전부는 아니다. – 설계 – 단위 테스트 – 리팩토링
  • 5. 원칙 • 이름의 중요성 • 단일 책임 원칙 ( SRP) • 중복 제거
  • 6. 이름의 중요성 • 서술적인 이름 • 비슷한 추상화 레벨 • 검색이 가능한 이름 • 자신의 기억력을 자랑하지 마라
  • 7. 단일 책임 원칙 • Single Responsibility Principle • 여러개의 책임을 동시에 맡지 않는다.
  • 8. 중복제거 • 코드 자체의 중복 • 알고리즘의 중복 • 패턴의 중복 – If else문
  • 9. 단위 테스트 • 원칙 – 테스트 케이스 하나당 하는일은 하나 • 외부에서 보았을 때 – 학습 테스트(라이브러리를 파악하는 좋은 방법) • 테스트는 유연성, 유지보수성, 재사용성을 제공
  • 10. 함수 • 원칙 – 함수 하나당 하는일은 하나 – 중복 코드는 하나의 함수로 • 함수 parameter는 가능한 작게 • NULL 반환도 하지 말고 전달도 하지 말도록 • error 반환 보다는 exception handling • 함수 이름은 그 안에서 일어나는 모든 것을 표현하도록
  • 11. 클래스 • 원칙 – 클래스가 하는 일은 하나 – 중복되는 로직은 polymorphism으로 해결 – Interface, abstract class • 클래스는 작아야 한다. – Cohesion
  • 12. 동시성 • 원칙 – 동시성 방어 원칙 • 라이브러리를 이해하라 – Concurrent Queue • 실행 모델을 이해하라 – 생산자-소비자 – 읽기-쓰기
  • 13. 주석 • 코드로 의도를 표현 • 코드로 표현할 수 없는 것 – 법적인 주석 – TO DO
  • 14. 변화에 대처하는 우리들의 자세 • 책의 구성 – 반정도는 실제 코드 변화과정 – 지루함 – 당위성 설명 • 실제로 해보고 느껴보기