Menu
Coddy logo textTech

단일 책임 원칙

Coddy의 Clean Code - Python으로 더 나은 코드 작성하기 코스 레슨. 28개 중 22번째.

"class가 변경되어야 하는 이유는 두 가지 이상이어서는 안 됩니다."

단일 책임 원칙(SRP)은 모든 class와 함수가 하나의 작업 또는 하나의 변경 이유만 가져야 한다고 말합니다.

목표 -

  • 응집도가 높고 견고한 class와 함수를 만듭니다.
  • class 조합을 장려합니다.
  • 코드 중복을 방지합니다.
challenge icon

챌린지

중급

Person class가 주어지며, 이 class에는 person을 데이터베이스에 저장하는 save 메서드가 있습니다.

주어진 코드에서 이 class는 두 가지 책임을 가집니다:

  1. person 객체 생성 및 관리
  2. person을 데이터베이스에 저장

여러분의 과제는 Person이 오직 하나의 책임만 가지도록 만드는 것입니다.

  • save 메서드를 포함하는 Database class를 생성하세요.
  • PersonDatabase 사이의 연결을 생성하세요.

이 과제를 수행하는 방법은 여러 가지가 있습니다. 여기서는 한 가지 특정한 방법을 목표로 하므로 필요할 때 힌트를 사용하세요!

Database를 위한 별도의 class를 생성하면 모든 "Database related" 항목을 한 곳에서 관리할 수 있다는 점에 유의하세요!

직접 해보기

class Person:
    def __init__(self, name):
        self.name = name

    def save(self):
        print('Saving person with name "%s"' % self.name)

Clean Code - Python으로 더 나은 코드 작성하기의 모든 레슨

직접 연습해 보세요: 온라인 Python 컴파일러