[pyar] Uso de funciones vs Clases

Nicolás Antinori nicolas_antinori en hotmail.com
Vie Nov 1 13:28:31 ART 2013


Viniendo de java, yo lo pensaria mas por el lado de definir funcionalmente las cosas que en java serian static. Ponele que tenes un modulo en java que es una clase estatica para trabajar numeros complejos, pero que la misma no guarda los numeros, sino que solo contiene las operaciones.

Todas las operacioens son static (para el que no conoce java, esto sirve para no tener una instancia de la clase en memoria pero se pueden utilizar los metodos estaticos que esta ofrece), seria tonto (a mi punto de vista) crear un modulo en python, y hacer una clase que adentro contenga las funciones para manejar numeros complejos.

No se si me explique bien :P. De seguro debe haber mas circunstancias donde a uno le conviene definir una funcion fuera de una clase que adentro, pero lo que puse arriba me parece lo mas visible.

P.D: Nunca me presente, Hola mundo! :P

Date: Fri, 1 Nov 2013 13:20:52 -0300
From: ricaraoz en gmail.com
To: pyar en python.org.ar
Subject: Re: [pyar] Uso de funciones vs Clases


  
    
  
  
    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>

          
            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

          
        
      
    
    

  


_______________________________________________
pyar mailing list pyar en python.org.ar
http://listas.python.org.ar/listinfo/pyar

PyAr - Python Argentina - Sitio web: http://www.python.org.ar/

La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar 		 	   		  
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20131101/e964145b/attachment-0001.html>


More information about the pyar mailing list