Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
SerialDate 리팩토링
16.1 SerialDate 리팩토링❖   SerialDateTests [목록 B-2]❖   클로버 코드 커버리지 분석 도구 수행해 본 결과    185개 문장중 91개문장만 수행. 약 50%의 커버리지.❖   단위 테...
16.2 Make It Right.
변경 이력 주석 제거.
주석에 HTML 제거.
명확한 클래스명과불필요한 상속 제거.
시리얼라이즈 지원 수정
깔끔한 표현 및 추상화 수준
부모클래스가파생클래스를 생성.
추상 팩토리 패턴
주석 제거
public, 변수 제거.
변수 위치 이동.
enum 사용.
모호한 상수명 수정.
사용하지 않는 함수 제거.
final, 주석 제거, 예외처리
메소드 합치기
기능 욕심(Feature Envy) 제거.
플래그 인자 제거.
서술적 표현으로 변경.
addDays 메소드 수정
임시 설명 변수(Explaining Temporary Variables) 적용
이상한 메소드 수정.
추상 메서드 수정
추상 메서드 수정.
추상메서드 수정.
Upcoming SlideShare
Loading in …5
×

Cleancode ch16 serialdate_refactoring

430 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Cleancode ch16 serialdate_refactoring

  1. 1. SerialDate 리팩토링
  2. 2. 16.1 SerialDate 리팩토링❖ SerialDateTests [목록 B-2]❖ 클로버 코드 커버리지 분석 도구 수행해 본 결과 185개 문장중 91개문장만 수행. 약 50%의 커버리지.❖ 단위 테스트 케이스 추가[목록 B-4]❖ 50% -> 92%
  3. 3. 16.2 Make It Right.
  4. 4. 변경 이력 주석 제거.
  5. 5. 주석에 HTML 제거.
  6. 6. 명확한 클래스명과불필요한 상속 제거.
  7. 7. 시리얼라이즈 지원 수정
  8. 8. 깔끔한 표현 및 추상화 수준
  9. 9. 부모클래스가파생클래스를 생성.
  10. 10. 추상 팩토리 패턴
  11. 11. 주석 제거
  12. 12. public, 변수 제거.
  13. 13. 변수 위치 이동.
  14. 14. enum 사용.
  15. 15. 모호한 상수명 수정.
  16. 16. 사용하지 않는 함수 제거.
  17. 17. final, 주석 제거, 예외처리
  18. 18. 메소드 합치기
  19. 19. 기능 욕심(Feature Envy) 제거.
  20. 20. 플래그 인자 제거.
  21. 21. 서술적 표현으로 변경.
  22. 22. addDays 메소드 수정
  23. 23. 임시 설명 변수(Explaining Temporary Variables) 적용
  24. 24. 이상한 메소드 수정.
  25. 25. 추상 메서드 수정
  26. 26. 추상 메서드 수정.
  27. 27. 추상메서드 수정.

×