Hola Esteban, > > Bueno, antes de decidir si se comentan o no los métodos tendríamos que > > diferenciar muy bien método de mensaje. > > Creia tenerlo claro, pero segun lo entiendo el método es la > implementación del comportamiento, y el mensaje es quien activa dicho > comportamiento. > > > ¿Qué es lo que se comenta, el método o el mensaje? > > En Smalltalk sólo hay lugar para comentar el método, el mensaje sólo > se podría documentar en el emisor (que es quien lo instancia/envia).
El emisor instancia un ENVIO de mensaje, no el mensaje en si. El mensaje es, según yo lo entiendo, un concepto... algo que podría enviar a alguien (aunque nadie lo envíe, el concepto del mensaje podría existir igual). No estaría mal si de esta discusión sacamos una definición de que es Mensaje. > > ¿Si hay varios métodos que implementan el mismo mensaje, la > > documentación del mensaje no estaría duplicada? > > El mensaje se implementa? o es el método? El mensaje se envia, y en > todo caso se instancia manualmente. Al menos asi lo entiendo yo (sic > sic, diría Nimo ;-) ) Bueno, como te decía antes, un envío de mensaje es una cosa, y el mensaje en si es otra... vamos a un ejemplo: Mensaje: -------- #baila -> cuando el receptor recibe el mensaje #baila este (el receptor) baila un tango. Envío de Mensaje: ----------------- diego baila. -> esto es un envío del mensaje #baila, particularmente a diego. Una implementación del mensaje (aka un Método): ----------------------------------------------- PesimoBailador>>baila "Los pésimos bailadores no hacemos mas que mover las manos" self manos mover. > > En CLOS uno define por un lado el mensaje, y por otro los métodos que > > implementan ese mensaje. En Smalltalk, en cambio, uno no define nunca > > (al menos como yo lo entiendo) los mensajes, sino que uno implementa > > métodos. > > > > ¿So? ¿Comentamos métodos o mensajes? Si se comenta el mensaje, ¿Cómo se > > administra la duplicación?. > > Métodos. Mensajes ;-) Pero NO envío de mensajes, sino el significado del mensaje. > > Según lo veo yo: Uno NO tendría que documentar métodos (es decir: > > detalles de implementación) sino que debería escribir el código limpio, > > que se entienda SIN necesidad de comentarios (hay muchos trucos para > > eso, y muchos están en el libro de Kent Beck al que hacen referencia). > > Para mi, por el contrario, no deberíamos leer código, deberiamos poder > confiar en la intención del selector, luego en el comentario y por > ultimo (si está mal comentado) en la implementación en el lenguaje. Depende que estés leyendo. ¿Que querés saber?, opciones: - Que tendría que hacer *cualquier* objeto cuando recibe un envío de mensaje particular. Me refiero a un comentario del tipo "Los objetos bailan cuando reciben este mensaje". - Que hace UN objeto en particular cuando recibe el mensaje. Un comentario tipo "Los pésimos bailadores sólo sabemos mover las manos". - O como se baila para un determinado objeto: Para que el receptor baile, tenemos que enviar el mensaje #mover a las manos. > > Pero, si documentamos la intención del mensaje, tenemos que administrar > > la duplicación. > > Y donde comentás un mensaje? En el Smalltalk actual no hay donde hacerlo, por eso que asumo que si comentamos mensajes vamos a tener que sufrir la duplicación. > Uno comenta el método, para _NO_ tener que leer su implementación, por > sencilla que sea. Entonces hay otra duplicación: El comentario vs. la implementación del método. > En muchos casos el selector revela la intención, > pero en otros viene bien que el comentario diga que devuelve tal cosa > y hace tal otra. > Si el metodo está factorizado, siendo que el mensaje siempre impacta > en un método principal, hay que comentar el todo y sus partes, pues > cada parte hará algo diferente, y por ello está factorizado. > > Saludos. Comentados saludos, -- Diego --~--~---------~--~----~------------~-------~--~----~ 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. -~----------~----~----~----~------~----~------~--~---
