Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

[Sugestão] - nó + design

Em: "Hora da prática: criando classes, construtores e métodos"
Ponto 7. Mesmo sabendo que é a opnião do instrutor, muitas pessoas se espelham pra tentar entender melhor o assunto, e achei não só complexo mas incompleto.
Se o grande motivo do @classmethod é usar cls para criar/manipular coisas da propria classe então foi ignorado o parâmetro cls. No código ele nem foi usado dentro da função.
Por fim pensando em arquitetura, houve desvio de responsabilidade com a classe ClienteBanco.
Se isso for mais um daqueles métodos de ensino 'Gustavo Guanabara' que ensinava uma maneira dificil/complexa ou incorreta primeiro pra depois mostrar uma maneira simples/elegante e pythonica depois, acho que comprei o curso errado.

1 resposta

Olá, Alan! Como vai?

Entendo sua preocupação e frustração em relação ao uso do @classmethod e à arquitetura das classes no exemplo mencionado.

Vamos tentar esclarecer alguns pontos. O @classmethod é um decorador em Python que permite que um método seja chamado na classe em vez de em uma instância de classe. O primeiro parâmetro de um @classmethod é cls, que representa a própria classe, e não uma instância dela. Isso é útil quando você precisa acessar ou modificar o estado da classe como um todo, em vez de um objeto específico.

Se no exemplo o cls não foi utilizado, pode ser que o método não esteja aproveitando todo o potencial do @classmethod. Isso pode acontecer em exemplos didáticos onde o foco está em mostrar a estrutura, mas sem explorar todas as possibilidades.

Quanto à arquitetura e responsabilidades da classe ClienteBanco, é importante que cada classe tenha uma responsabilidade clara e que o design seja coeso. Se você percebeu um desvio de responsabilidade, isso pode ser uma oportunidade pensar em melhorias, talvez criando subclasses ou separando responsabilidades em diferentes classes.

Espero ter ajudado e fico à disposição se precisar.

Abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado