
311
Chapter 8
리팩터링과 기술 부채 관리
명확히 정의될 수 있는 어떠한 새로운 개념을 만드는 것입니다.”
인터페이스
현실 세계에서 인터페이스는 사용자가 전자기 방사선과 같은 세부 구현을 몰라도 전자레인지와 같은 복잡한
기기와 상호작용할 수 있는 방법을 제공합니다.
마찬가지로, 소프트웨어 세계에서 인터페이스
11
는 클래스와 상호작용하기 위해 사용하는 관련 속성과 호
출 가능한 메서드를 의미합니다. 예를 들어, 판다스 데이터프레임 인터페이스에는
.
head
()
및
.
sort
_
values
(
by
=...)
와 같은 메서드가 존재합니다. 여러분은 정렬 알고리즘의 세부 구현 사항을 몰라도, 데이터
프레임과 그 인터페이스를 통해 상호작용할 수 있습니다.
ML
솔루션의 구성 요소( 훈련 파이프라인, 데이터 리포지터리, 솔루션 내의 다양한 클래스 등)는 각자의 인
터페이스를 통해 서로 상호작용해야 하며, 다른 구성 요소의 내부 구현 세부 사항에 대해 알거나 의존해서는
안 됩니다. 그렇지 않으면, 밀접하게 결합되어 변경하기 어렵고 취약한 시스템을 갖게 될 것입니다. 이 장의
마지막 절에서 결합과 적절한 결합 수준에 대해 더 설명할 것입니다.
읽기 쉽고 유지보수가 가능한 솔루션
필자가 경력을 시작했을 때, 한 동료가 특정 소프트웨어 설계가 솔루션의 ‘유지보수성’을 ...