Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

É má prática criar um método utilizando o attrgetter em uma classe (em um modelo apenas oo)?

Algumas informações da aula anterior me causou uma pequena confusão sobre boas práticas.

Entendi que definir uma função fora da classe para fazer algo que possa ser um método da própria classe, é má prática considerando uma aplicação estritamente orientada a objeto.

Porém, existem códigos/ferramentas que são consideradas má práticas mesmo aplicando dentro de um método e não em uma função fora da classe?

Por exemplo, é má prática utilizar o attrgetter em um método, já que (no meu entendimento, talvez esteja enganado) é uma função de uma biblioteca mais funcional que O.O.? Ou não existe (no geral) coisas do tipo e desde que não seja um pedaço de código / função FORA do objeto, não é má prática?

Digo isso porque existem operadores / funções / métodos que claramente na documentação é para classes, e outros que aparentam não ser.

Muito obrigado!

2 respostas
solução!

Olá Henrique.

Sua reflexão faz todo sentido já que Python nos forneces mecanismos para programar tanto no paradigma da programação orientada a objetos (POO) e da programação funcional, você pode encontrar detalhes desses mecanismos na própria do documentação do Python, tanto para POO quanto para a programação funcional.

Dito isso, no meu ponto de vista utilizar esses mecanismos não vai determinar qual paradigma você está utilizando, utilizar por exemplo attrgetter, que na documentação do python está dentro dos mecanismos para programação funcional, não vai determinar que agora está programando de maneira funcional.

Esse paradigmas são conceitos que não estão diretamente ligados a alguma linguagem de programação, então para entender o que é o não má pratica devemos melhor nossos fundamentos sobre esses paradigmas.

Recomendo para leitura esse artigo sobre POO e esse artigo sobre Programação funcional e dessa maneira entender os vários elementos que vão ditar qual paradigma você está utilizando e o quanto usar tal mecanismos vai ferir essas regras.

Mas de maneira simples utilizar um mecanismo não é má pratica se não quebrar as regras estabelecidas, mas talvez seja interessante refletir se não existe outro caminho mais alinhado com o paradigma que estiver seguindo.

Espero ter ajudado, mas se ficou com duvidas não hesite em perguntar que vamos te ajudar.

Bons Estudos.

Olá, Igor!

Muito obrigado. Sua resposta faz todo sentido, visto que os paradigmas são COMO (a maneira) você escreve e não COM O QUÊ (ferramentas). Utilizar um mecanismo geralmente mais utilizado em um código de paradigma funcional não define seu código, pois você pode estar utilizando esse mecanismo em um código em que toda a teoria O.O. está sendo aplicado por exemplo.

Geralmente há alternativas dessas ferramentas para ambos paradigmas, como venho estudando. Cada um destacando as vantagens de um paradigma.

Agradeço novamente!