Ayer mismo leí esto en el libro Smalltalk By Example. (Muy bueno por 
cierto) y tiene mucha razón.

Un saludo.

Guillermo Schwarz escribió:
> Salió un poco largo el thread.
>  
> Bueno al principio opinaba lo mismo que tú, que era mejor crear 
> comentarios en todos los métodos, hasta que me encontré con que los 
> comentarios habían dejado de actualizarse a medida que los métodos 
> evolucionaban.
>  
> Entonces me di cuenta que creando métodos más pequeños y con mejores 
> nombres, en general no se requiere comentarios, excepto para decir lo 
> que no se puede escribir directamente en el lenguaje de programación.
>  
> Me he encontrado con que alguien escribe:
>  
> i := i + 1. "incrementa i"
>  
> Eso es típico de comentarios redundantes. Conviene evitarlos porque no 
> aportan información y distraen. Además que cuando se cambia el código 
> por i := i + 2. típicamente uno aprende a despreciar mentalmente los 
> comentarios porque sabe que no aportan, de modo que suele pasar que 
> los comentarios quedan como reflejo de lo que alguna vez fue pero ya 
> no es.
>  
> Por ejemplo:
>  
> message>>get: object "se conecta al servidor, espera un evento 
> asociado al objeto y retorna el objeto procesado"
>  
> Sería más apropiado:
>  
> message>>connectWaitEventAndProcess: object
>  
> Esto tiene como ventaja que:
>  
> 1. No es posible que llame al método y no sepa lo que hace.
> 2. El hecho de que el método tenga un nombre tan largo indica que 
> tiene demasiada responsabilidad.
>  
> El problema ya estaba latente, esto sólo permite diagnosticarlo mejor.
>  
> En otras palabras los desarrolladores deben saber la diferencia entre 
> métodos mutadores, inspectores, constructores, etc. y deben tratar de 
> poner nombres descriptivos a sus métodos, evitando los comentarios 
> (haciendo que sean innecesarios).
>  
> Eso, sumado al code review (primo del pair programming), las pruebas 
> unitarias y detectar código repetido y eliminarlo, es suficiente para 
> que el código no se deteriore con el tiempo.
>  
> Respecto de los castigos que se apliquen, en todas partes tienen sus 
> costumbres. Nosotros "aplicamos corriente", porque de alguna manera se 
> produce una reacción física cuando apretamos el timbre imaginario que 
> aplica corriente, y lo mejor de todo es que parece chiste, pero el 
> hecho de que se vea públicamente que cometiste un error es suficiente 
> motivador para que el error no se repita.
>  
> En los pocos casos en que eso no basta se toman medidas más severas, 
> sanciones administrativas, pero hace casi un año que no aplicamos ninguna.
>  
> Saludos,
> Guillermo.
>
>  
> On 11/7/06, *Esteban A. Maringolo* <[EMAIL PROTECTED] 
> <mailto:[EMAIL PROTECTED]>> wrote:
>
>
>     Guillermo:
>
>     Efectivamente, asi lo dice Kent Beck, pero uno no le hace caso a todo
>     lo que dice, porque piensa por si mismo.
>
>     Aca si no comentás los métodos te cortamos los dedos (de manera que
>     tengas una escusa para no hacerlo) :-D
>
>     Saludos.
>
>
>
>     On 11/6/06, Guillermo Schwarz < [EMAIL PROTECTED]
>     <mailto:[EMAIL PROTECTED]>> wrote:
>     > Bueno, XP nació de conocidos Smalltalkers, y ellos manifiestan
>     que no es
>     > necesario comentar los métodos (si al final nadie lo lee), con las
>     > siguientes salvedades:
>     >
>     > 1. Comentarios de clase.
>     > 2. Comentarios de interfaces y de clases "fachada".
>     >
>     > ¿Cómo se las arreglan sin comentarios?
>     >
>     > Intention revealing selectors...
>     >
>     >
>     > On 11/6/06, GallegO <[EMAIL PROTECTED]
>     <mailto:[EMAIL PROTECTED]>> wrote:
>     > >
>     > > Hola:
>     > >
>     > > Hablando de eso, nosotros solemos hacer "mini charlas" de
>     Smalltalking
>     > > solo para elegir nombres, ayudados del diccionario de
>     sinónimos (Maringa
>     > > si podes tira el link :), es una de las mejores herramientas.
>     > > Creemos que como decía la propaganda "Un buen nombre es lo
>     mejor que uno
>     > > puede tener" aunque sea argumento o variable de instancia.
>     > >
>     > > En el caso de ejemplo de unasAgendas a veces, ademas de las
>     opciones que
>     > > evaluaron antes, tambien hay que tener en cuenta poner
>     simplemente
>     > > aCollection o collection, nada más, pero creo que depende
>     mucho del
>     > > contexto, la implementación, si hay polimorfismo, etc.
>     > > Para tener en cuenta Smalltalk with style, como decia Guiye,
>     con la
>     > > salvedad (sobre este libro) que IMHO los comentarios de los
>     metodos van
>     > > en todos, sean setters y getters o no, ya que el no ponerlos
>     en los
>     > > accessors da pie a tampoco ponerlos en metodos "obvios" y asi en
>     > > adelante degenerar en no ponerlos...
>     > >
>     > > Obviamente respeto cualquier opinión contraria.
>     > >
>     > > Saludos
>     > > GallegO
>     > >
>     > > Esteban A. Maringolo escribió:
>     > > > Creo que es una cuestión de estilos, pero los nombres de las
>     variables
>     > > > de instancias no se nombran como unBoolean, unPerro, etc.
>     > > >
>     > > > Sí se nombran asi los argumentos y variables temporales de
>     un método.
>     > > >
>     > > > Repito, es una cuestión de convenciones de donde se trabaje.
>     > > >
>     > > > Saludos.
>     > > >
>     > > > On 11/6/06, Guillermo Schwarz < [EMAIL PROTECTED]
>     <mailto:[EMAIL PROTECTED]> > wrote:
>     > > >> En Smalltalk es usual que el nombre de la clase se utilice
>     dentro del
>     > nombre
>     > > >> de la variable.
>     > > >>
>     > > >> Así por ejemplo, sabemos que unaAgenda es una variable que
>     apunta a una
>     > > >> instancia de la clase Agenda.
>     > > >>
>     > > >> Sin embargo si tenemos OrderedCollection que contiene agendas,
>     > unaAgendaList
>     > > >> me parece màs revelador de la intenciòn, ademàs que es màs
>     fàcil
>     > confundir
>     > > >> unaAgenda con unaAgendas o unasAgendas, que con unaAgendaList.
>     > > >>
>     > > >> Finalmente està la cuestiòn de que puede ser unaAgendaSet,
>     unaAgendaMap
>     > (o
>     > > >> unaAgendaDict para los màs puristas), etc. de modo que pasa
>     a se màs
>     > difìcil
>     > > >> usarlo mal.
>     > > >>
>     > > >> Saludos,
>     > > >> Guillermo.
>     > > >>
>     > > >>
>     > > >>
>     > > >> On 11/6/06, Diego Gomez Deck <[EMAIL PROTECTED]
>     <mailto:[EMAIL PROTECTED]> > wrote:
>     > > >>> Hola Santiago,
>     > > >>>
>     > > >>> Si, definitivamente "Agendas" y "unaAgenas" suenan horrible.
>     > > >>>
>     > > >>> El tema es que elegí no prestar mucha atención a los
>     nombre en ese
>     > punto
>     > > >>> (donde el usuario todavía no metió mano en Smalltalk) para
>     pasar a
>     > > >>> "manos a la obra" lo más rápido posible.
>     > > >>>
>     > > >>> Si hubiese tenido que hablar de convenciones de nombres de
>     clases,
>     > > >>> variables de instancia, como comentar clases, como
>     comentar métodos,
>     > > >>> como comentar mensajes, etc no hubiese podido lograr que
>     el lector
>     > (del
>     > > >>> libro) meta mano en ST cuando antes.
>     > > >>>
>     > > >>> Saludos,
>     > > >>>
>     > > >>> -- Diego
>     > > >>>
>     > > >>>> Hola gente. Hola Diego. Hace muchos años que programo en
>     Smalltalk.
>     > > >>>> Siempre con VisualAge. La verdad que por cuestiones que ya se
>     > trataron
>     > > >>>> en esta lista, nunca me sentí atraído por Squeak.
>     > > >>>> Estos días empecé a leer tu libro y me sirvió de
>     motivación para
>     > meter
>     > > >>>> mano en Squeak. La verdad que te felicito por tu trabajo y te
>     > > >>>> agradezco por tu valiosísimo aporte.
>     > > >>>> Concretamente quería opinar sobre el ejemplo que comienza
>     desde la
>     > > >>>> página 59, "3.2 Parser de XML basado en una Pila".
>     Llegando a la
>     > > >>>> página 60, me llamó la atención la clase "Agendas".
>     Hubiera creído
>     > que
>     > > >>>> un mejor nombre sería AgendasManager o algún otro, pero
>     en singular.
>     > > >>>> De hecho, unaAgendas no suena bien. Claro que no soy un
>     erudito, pero
>     > > >>>> quería comentar y conocer de otras opiniones.
>     > > >>>>
>     > > >>>> Un abrazo para todos,
>     > > >>>> Santiago
>     > > >>>
>     > > >>> --
>     > > >>> ==========================================
>     > > >>> Diego Gomez Deck
>     > > >>> ------------------------------------------
>     > > >>> http://diegogomezdeck.blogspot.com/
>     > > >>> http://smalltalk.consultar.com/
>     > > >>> ==========================================
>     > > >>>
>     > > >>>
>     > > >>>
>     > > >>>
>     > > >
>     > > >
>     > >
>     > >
>     > >
>     > >
>     > > > >
>     > >
>     >
>
>
>     --
>     Esteban A. Maringolo
>     [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
>
>
>     >


-- 
Giuseppe Luigi Punzi
Linux User: #370919
Skype: glpunzi
http://blog.lordzealon.com


--~--~---------~--~----~------------~-------~--~----~
  Ha recibido este mensaje porque está suscrito a Grupo "clubSmalltalk" de 
Grupos de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a [email protected]
 Para anular la suscripción a este grupo, envíe un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups-beta.google.com/group/clubSmalltalk?hl=es.

-~----------~----~----~----~------~----~------~--~---

Responder a