13장: 나쁜 코드를 식별 가능하게 만들기

13장: 나쁜 코드를 식별 가능하게 만들기

나쁜 코드를 딱 봐도 않좋아 보이게 만들어 품질의 수준을 명확히 표시하는 방법 -> 안티 리팩터링

나쁜 코드에 대처하는 자세

코드를 원하는 수준으로 리팩터링하지 못할 때가 많다 이런 상황에서 끔찍하지만 않게 약깐의 리팩터링을 수행하기도 한다 하지만 이렇게 하는것은 실수다

나쁜 코드를 남겨둘때 장점

  • 다시 찾기가 쉽다
  • 통제가 지속 가능하지 않다는 신호를 준다

깨끗한 코드와 레거시 코드로 분리

잘 만들수 없으면 눈에 띄게 만들어야 된다

깨진 유리창 이론

유리창이 하나가 깨지고 나면 곧 더 많은 유리창이 깨진다. 논란의 여지는 있지만 최소한 은유적인 가치는 있다

나쁜 코드를 찾는 방법

이 책의 규칙: 단순하고 구체적인 코드

코드 스멜: 완전하고 추상적인 코드

순환 복잡도: 알고리즘(객관적)

인지 복잡도: 알고리즘(주관적)

코드를 안전하게 나쁜 코드로 보이기 위한 규칙

  • 올바른 정보를 절대 훼손하지 말 것
  • 향후 리팩터링을 어렵게 만들지 말 것
  • 결과를 한눈에 알 수 있을 것

나쁜 코드를 나쁘게 보이기 위한 방법

안전과 가역성은 필수요소

열거형 사용

정수형 및 문자열을 타입 코드로 사용

코드에 매직 넘버 넣기

코드에 주석 넣기

코드에 공백 넣기

이름을 기준으로 항목을 그룹화하기

이름에 컨텍스트 추가하기

긴 메서드 만들기

메서드에 많은 매개변수 넘기기

getter와 setter 사용하기

참조