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
변화에 대처하는 우리들의 자세
• 책의 구성
– 반정도는 실제 코드 변화과정
– 지루함
– 당위성 설명
• 실제로 해보고 느껴보기

Clean code short review

  • 1.
  • 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.
    변화에 대처하는 우리들의자세 • 책의 구성 – 반정도는 실제 코드 변화과정 – 지루함 – 당위성 설명 • 실제로 해보고 느껴보기