티스토리 뷰

여러가지

마틴 파울러 리팩토링

야쿠 yaku 2014.02.26 22:37

1. 리팩토리의 정의

리팩토링(Refactoring)[명사]

소프트웨어를 보다 쉽게 이해할 수 있고, 적은 비용으로 수정할 수 있도록 겉으로 보이는 동작의 변화 없이 내부 구조를 변경하는 것

리팩토링 하다 ( Refactor ]

일련의 리팩토링을 적용하여 겉으로 보이는 동작의 변화 없이 소프트웨어의 구조를 바꾸다.

 

** 리팩토링의 목적은 소프트웨어를 보다 이해하기 쉽고, 수정하기 쉽도록 만드는 것이다.

 

언제 리팩토링을 해야 하는가 ?

- 기능을 추가할 때 리팩토링을 하라

- 버그를 수정할 때 리팩토링을 하라

- 코드 검토를할 때 리팩토링을 하라

 

2. 코드 속의 나쁜 냄세

- 중복된 코드 (Duplicated Code]

- 긴 메소드 ( Long Method )

- 거대한 클래스 (Large Class)

- 긴 파라미터 리스트 ( Long Parameter List)

- 확산적 변경

    -- 한 클래스가 다른 이유로 인해 다른 방법으로 자주 변경되는 경우에 발생한다.

- 산탄총 수술

    -- 하나를 변경 했을 때 많을 클래스를 고쳐야 하는 경우

- 기능에 대한 욕심

 - 데이터 덩어리

- 기본 타임에 대한 강박관년 (Primitive Obsession)

- Switch 문 ( Switch StateMents )

- 게으른 클래스 (Lazy class)

- 추측성 리반화

- 임시 필드 (Temporary Filed )

- 메시지 체인 (Messgage Chains)

- 미들 맨

- 부적절한 친밀 (Inappropriate Intimacy)

- 불완전한 라이브러 클래스 ( Incomplete Labrary Class)

 

저작자 표시
신고

'여러가지' 카테고리의 다른 글

UML 의 관계 표현  (0) 2014.02.26
분석요령 5가지  (0) 2014.02.26
마틴 파울러 리팩토링  (0) 2014.02.26
아마존 웹서비스 링크 모음  (0) 2014.02.21
etsy 분석  (0) 2014.02.05
웹기술 번역문서자료  (0) 2014.01.24
댓글
댓글쓰기 폼