단일 책임 원칙
Coddy의 Clean Code - Python으로 더 나은 코드 작성하기 코스 레슨. 28개 중 22번째.
"class가 변경되어야 하는 이유는 두 가지 이상이어서는 안 됩니다."
단일 책임 원칙(SRP)은 모든 class와 함수가 하나의 작업 또는 하나의 변경 이유만 가져야 한다고 말합니다.
목표 -
- 응집도가 높고 견고한 class와 함수를 만듭니다.
- class 조합을 장려합니다.
- 코드 중복을 방지합니다.
챌린지
중급Person class가 주어지며, 이 class에는 person을 데이터베이스에 저장하는 save 메서드가 있습니다.
주어진 코드에서 이 class는 두 가지 책임을 가집니다:
- person 객체 생성 및 관리
- person을 데이터베이스에 저장
여러분의 과제는 Person이 오직 하나의 책임만 가지도록 만드는 것입니다.
save메서드를 포함하는Databaseclass를 생성하세요.Person과Database사이의 연결을 생성하세요.
이 과제를 수행하는 방법은 여러 가지가 있습니다. 여기서는 한 가지 특정한 방법을 목표로 하므로 필요할 때 힌트를 사용하세요!
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 컴파일러