Responsabilidade única
Lição 22 de 28 do curso Clean Code - Escreva códigos melhores com Python da Coddy.
"Nunca deve haver mais de um motivo para uma class mudar."
O princípio da responsabilidade única (SRP) afirma que toda class e função deve ter apenas uma tarefa ou um motivo para mudar.
Objetivos -
- Criar classes e funções altamente coesas e robustas.
- Promover a composição de class
- Evitar a duplicação de código
Desafio
MédioVocê recebe a class Person, que tem um método save para salvar o person no banco de dados.
No código fornecido, a class tem duas responsabilidades:
- Criar e gerenciar o objeto person
- Salvar o person no banco de dados
Sua tarefa é garantir que Person tenha apenas uma responsabilidade.
- Criar a class
Databasecom o métodosave. - Criar uma conexão entre
PersoneDatabase
Há muitas opções para realizar esta tarefa; estamos buscando uma específica. Use as dicas quando necessário!
Observe que, quando criamos uma class separada para Database, podemos gerenciar todas as coisas relacionadas a "Database related" em um só lugar!
Experimente você mesmo
class Person:
def __init__(self, name):
self.name = name
def save(self):
print('Saving person with name "%s"' % self.name)Todas as lições de Clean Code - Escreva códigos melhores com Python
Pratique por conta própria: Compilador de Python online