12장 : 창발성

Y·2023년 9월 13일
0

클린 코드

목록 보기
12/14

*<클린 코드>를 참고하여 작성한 글입니다.

창발성

  • 켄트백이 제시한 단순한 설계 네가지가 소프트웨어 설계 품질을 크게 높여준다고 믿는다.
    • 모든 테스트를 실행한다 : 테스트가 불가능한 시스템은 검증도 불가능이다. 검증이 불가능한 시스템은 출시하면 안 된다. -> 테스트 케이스를 만들고 계속 돌려라 라는 간단하고 단순한 규칙을 따르면 시스템은 낮은 결합도와 높은 응집력이라는 객체 지향 방법론의 지향점을 저절로 달성한다. 즉, 테스트 케이스를 작성하면 설계 품질이 높아진다.
    • 중복을 없앤다
    • 프로그래머 의도를 표현한다
    • 클래스와 메서드 수를 최소로 줄인다
    • -> 테스트 케이스가 있으므로 코드를 정리하면서 시스템이 꺠질까 걱정할 필요가 없다
  • 표현하라
    • 코드는 개발자의 의도를 분명히 표현해야 한다. 개발자가 코드를 명백하게 짤수록 다른 사람이 그 코드를 이해하기 쉬워진다. 그래야 결함이 줄어들고 유지보수 비용이 적게 든다.
    • 좋은 이름을 선택한다.
    • 함수와 클래스 크기를 가능한 줄인다.
    • 표준 명칭을 사용한다.
    • 단위 테스트 케이스를 꼼꼼히 작성한다.
    • 함수와 클래스에 조금 더 시간을 투자할 것.
  • 클래스와 메서드 수를 최소로 줄여라
    • 무의미하고 독단적인 정책탓에 클래스 수와 메서드수가 늘어나기도 한다. 독단적 견해는 멀리하고 실용적 방식을 택한다. 목표는 함수, 클래스 크기를 작게 유지하면서 동시에 시스템 크기도 작게 유지하는 데 있으나, 우선 순위는 가장 낮다.
profile
개발자, 학생

0개의 댓글