파비의 매일매일 공부기록

프로그래머를 위한 파이썬 - 2장 #2 본문

Study/Python

프로그래머를 위한 파이썬 - 2장 #2

fabichoi 2021. 11. 12. 23:30

2.2 파이썬에서 관심사 분리의 계층구조
- 파이썬에서 네임스페이스가 세분화된 계층구조를 갖는 것처럼, 관심사 분리에 대한 광범위한 접근 방식도 그러함.
- 계층구조에 대한 불변의 규칙이 있는 건 아님.

2.2.1 함수
- 코드를 나누려고 할 때 가장 먼저 생각나는 도구는 간단한 함수. 몇 줄의 코드로 된 함수를 만들고 나중에 참조될 수 있도록 명확한 이름을 부여. 함수를 생성하는 것은 어떤 작업을 하는지 더 명확하게 하며 필요할 때 재사용할 수 있게 함.
- 분해 : 어떤 문제를 관리하기 쉬운 작은 조각으로 나누는 과정
- 일반적으로 함수로 관심사를 분리하는 것은 외형적 변화를 가능하게 함. 즉, 코드를 수정하여 더 정밀하게 하며 주변 코드에 미치는 영향을 최소화하므로 프로젝트를 진행하는데 시간을 많이 절약해 줌.

2.2.2 클래스
- 클래스의 메서드와 속성이 밀접하게 관련되면 코드의 응집력이 높다고 함.
- 클래스의 내용이 전체적으로 하나로 뭉쳐지면 응집력이 생김.
- 너무 많은 관심사를 가진 클래스는 응집력이 낮아짐.
- 어떤 클래스가 다른 클래스에 의존적인 경우, 이들은 결합되었다고 함.
- 강한 결합은 변경에 대한 파급 효과를 관리하는 데 더 많은 시간을 소비하게 만들기 때문에 비용이 많이 듦.

반응형
Comments