kok202
[2019.03.01] 클린 코드 (점진적 개선)

2019. 3. 1. 20:50[공부] 독서/클린 코드

시스템을 망가뜨리는 변형을 하지 말아야한다.


어떤 목적 달성을 위해 코드를 작성하는 와중에도 해당 목적 만을 위한 TDD를 사용할 수 있다.


리팩토링 할 때의 TDD

1. 현재 코드에서 동작하는 테스트 코드를 만든다.

2. 코드를 리팩토링 할 때마다 테스트 케이스를 모두 돌려본다.

3. 테스트가 실패하면, 리팩토링으로 인해 발생하는 실패 사례를 해결할 때까지 다음 리팩토링으로 넘어가지 않는다.


객체가 특정 클래스인지 확인하는 논리 연산

Object instance of Class

하지만 해당 논리연산을 너무 자주 사용하게 될 경우, 프로그램이 확장될 때 분기문에 의한 상황 처리가 계속 추가되게 된다. 그러므로 이를 사용하기 보다는 구조적으로 해결하려하자.


소프트웨어 설계는 분할만 잘해도 품질이 크게 높아진다.