Hola a todos.
Qué interesante todo esto.
Me parece que en todo lo que se está diciendo hay algo de verdad, pero que el problema es tomar cada procedimiento como una norma rígida. Una vez me criticaron que no encontrase sentido a comentarios tipo xxx: anObject "set anObject as the value of xxx"  (como el Refactoring Browser tiene la mala costumbre de hacer). Mi argumento era que los mensajes de acceso a las variables de instancia son casi triviales, no hace falta nada más para entender cual es su propósito. En el otro extremo, hay métodos que por la complejidad del dominio, (o porque son un poco chanchos) sólo se entienden mediante detallados comentarios. Y también, situaciones en donde por más comentario que haya, sólo se entiende que pasa si se lee el código. Posicionarse dogmáticamente en alguno de estos extremos como si fuesen la norma lleva a situaciones molestas a la hora de leer código, pero está claro que la molestia de una aclaración innecesaria no es nada comparada con la molestia de tener que descifrar código sin ningún tipo de documentación, cosa muy usual en smalltalk.
El intention revealing selector es un ideal, pero a veces se hace necesario un "programmer intention revealing".
Estoy totalmente de acuerdo en que los test son una forma de documentación activa, muy a tono con lo que es Smalltalk. El problema, como en los otros casos, es la práctica concreta de los programadores. No siempre hay tests, no siempre hay test mínimos como para entender el proceso de aprendizaje que se llevó a cabo, no siempre hay herramientas que permitan ver el órden que se siguió de lo más simple a lo más complejo.
En cuanto a las duplicaciones, no me parece un problema. Me voy a encontrar con un método determinado y en él quiero encontrar el comentario. Si, puedo buscar los implementors, pero eso es agregar complejidad antes de tiempo.  Claro, sería  muy copado una herramienta que sirva para comentar los mensajes en lugar de  los métodos, no tanto para evitar las duplicaciones sino para hacer patente la diferencia conceptual. Tal vez el comment debería ser algo más que un simple string injertado artificialmente en medio del código.
Saludos
Norberto

--~--~---------~--~----~------------~-------~--~----~
  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