본문 바로가기
WEB/Clean Code

[Clean Code] 12장. 창발성

by IT황구 2022. 2. 24.
728x90
반응형

12장. 창발성 (Emergence)

  • 단순한 규칙 4가지로 우수한 설계가 나올 수 있게 할 수 있다

단순한 설계 규칙 4가지

  • 모든 테스트를 실행한다
    • 결합도가 높으면 테케를 작성하기가 어렵다.
      • 결합도를 낮추려면 DI, 인터페이스, 추상화등을 이용
    • 테스트가 가능한 시스템을 만들면 객체지향 방법론이 지향하는 목표를 저절로 달성할 수 있다. (SOLID)
    • 리팩토링
      • TC를 모두 작성헀으면 코드를 점진적으로 리팩토링 할 수있다.
      • 변화에 두렵지 않음. 시스템이 깨질까봐 두렵지 않음. side effect가 두렵지 않음.
  • 중복을 없앤다
    • 중복되는 로직이나 코드를 최대한 함수나 클래스로 빼자.
    • TEMPLATE METHOD 패턴은 고차원 중복을 제거하는데 도움을 준다.
  • 프로그래머 의도를 표현한다
    • 코드는 개발자의 의도를 분명히 표현해야 한다.
    • 좋은 이름을 선택해야한다.
  • 클래스와 메서드 수를 최소로 줄인다
    • 가능한 줄이자.
    • 무조건 자료와 동작을 분리한다. 이런것은 옳지 않다.
    • 독단적인 견해는 멀리하는것이 좋다.
    • TC를 만들고 중복을 제거하고 의도를 표현하는것이 더 중요한 작업이다.
728x90
반응형

'WEB > Clean Code' 카테고리의 다른 글

[Clean Code] 13장. 동시성  (0) 2022.02.25
[Clean Code] 11장. 시스템  (0) 2022.02.24
[Clean Code] 10장. 클래스  (0) 2022.02.23
[Clean Code] 9장. 단위테스트  (0) 2022.02.23
[Clean Code] 8장. 경계  (0) 2022.02.22