[pyar] Uso de funciones vs Clases

Ricardo Aráoz ricaraoz en gmail.com
Vie Nov 1 13:20:52 ART 2013


Jajaja, sólo por argumentar.... si necesito modelar un ente como por 
ejemplo "Sumador de números" o "restador de números" utilizo un objeto 
pero si es un verbo, por ejemplo "Filtrar usuarios" utilizo una función. 
Es una regla muy tramposa.

Lo que quiero decir es que esto de verbos/sustantivos es bastante 
relativo en muchos casos. Los distintos paradigmas 
funcional/objetos/etc. se crearon básicamente para simplificarnos la 
vida, así que tal vez deberíamos usarlos cuando nos simplifican la vida, 
y ahí entra el criterio de cada programador. Si tenés buen criterio las 
decisiones que hagas te van a simplificar la vida útil del sistema. Y 
siempre, si algo te complica demasiado la vida, podés refactorizar.

Recordemos el PEP 20 : " Although practicality beats purity."


El 01/11/13 10:55, Juan Manuel Pérez escribió:
> Un approach sencillo (y preliminar) puede ser pensar en que si lo que 
> queremos modelar es un sustantivo o un verbo.
>
> Por ejemplo, como ya mencionaron, "sumar", "restar" son verbos => 
> funciones.
>
> Por otro lado, si necesito modelar algo que sea un ente y no una 
> acción, digamos por ejemplo "Filtro de Usuarios", lo considero como un 
> objeto hecho y derecho, y escribo su comportamiento en una clase. Que 
> tenga estado o no, es irrelevante.
>
> De nuevo aclaro, es una primera idea que después hay que refinar :)
>
> Saludos,
>
> JM
>
>
> 2013/11/1 Nicolás Rebagliati <nicolas.rebagliati en aenima-x.com.ar 
> <mailto:nicolas.rebagliati en aenima-x.com.ar>>
>
>     Hola, yo vengo del palo de java. Por lo cual constantemente trato
>     de meter clases por todos lados.
>     Y me olvido del lado funcional de python.
>
>     Ustedes en que se basan para definir si determinada funcionalidad
>     resolverla con funciones o clases?
>     La respuesta mas obvia calculo que será entender si necesito un
>     estado y un comportamiento, o únicamente un comportamiento.
>
>     Saludos
>

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20131101/c0d97daf/attachment.html>


More information about the pyar mailing list