ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 소프트웨어 악취를 제거하는 리펙토링 (Refactoring for software design smells)
    독서 노트 2020. 2. 18. 22:59

    3.4 다면적인 추상화

    추상화에 할당된 책임이 둘 이상 있을 때 이런 악취가 발생한다. 

     

    - 설계 구성 요소에서 일어나는 잦은 변경과 발생한 결함 수 사이에는 종종 강한 상관관계가 존재한다. 이것은 다면적인 추상화가 엄청난 결함으로 고통받기 쉽다는 사실을 의미한다. 다면적인 추상화는 설계 품질을 떨어뜨리므로 리팩토링을 거쳐 기술 부채를 해소하며 더 이상 쌓지 말아야 한다. 추상화에 여러 '책임이나 '측면'이 존재하므로, 이런 악취를 '다면적인 추상화'라 명명한다. 

     

    주기적인 리팩토링을 통해 계속 쌓일 수 있는 technical debt 을 제거해야 한다. 제거하지 않으면 결국 design smell 이 발생할 수 밖에 없다. 

     

    3 Abstraction smells

     

    3.1 Missing abstraction

    3.2 Imperative abstraction

    3.3 Incomplete abstraction

    3.4 Multifaceted abstaction

    3.5 Unnecessary abstraction

     

    3.6. Unutilized abstraction ( 사용하지 않는 추상화 : Unused class, Speculative generality )

    -  추측, 또는 고객 요구 사항으로 사용하지 않는 코드를 삭제하지 않음으로써 동작에 의한 버그 추측 불가능 소스 코드 및 리소스 증가를 가져올 수 있다. 향후 코드 분석시에도 영향을 끼치게 된다. 

    - Understandability, Reliablity 에 영향을 주게 된다. 

    - 이러한 경우 삭제 또는 명시적으로 주석으로 언급한다.  ( Obsolete, Deprecated )

     

    3.7 Duplicated abstraction ( 중복된 추상화 : ) 

     

     

     

     

Designed by Tistory.