Hola Gente
Hace algún tiempo buscando en los históricos encontré algo sobre "Comment in Smalltalk" , incluso reenvié el mail a la lista para los que no lo habían visto.
Desde entonces me quede con algunas dudas.
Una de ellas tiene que ver con esto:
VS>>actionForEvent: eventName
"Answer the action to evaluate when the event
named <eventName> is triggered by the receiver."
^self eventTable
at: eventName asSymbol
ifAbsent: [nil]
VW>>actionForEvent: anEventNameSymbol
"Answer the action to evaluate when the event
named <anEventNameSymbol> is triggered by the receiver."
^self eventTable
at: anEventNameSymbol asSymbol
ifAbsent: [nil]
Este es
el mismo método en 2 diferentes ST, como puede verse el nombre del argumento no coincide.
Esto indica una diferencia de criterio a la hora de nombrar argumentos.
En muchas ocasiones he visto que un argumento comienza con "an o aXXXX" y que en otros casos solo se nombra como xXXXX.
Una de las dudas tiene que ver con eso. Cuando nombrar "an o aXXXX" o "xXXXX".
Ale decía:
Al escribir el messagePattern del metodo, los nombres
de los argumentos son los nombres de los objetos
tal como los ve el receptor y no como los ve el
contexto en que esta siendo usado!.
de los argumentos son los nombres de los objetos
tal como los ve el receptor y no como los ve el
contexto en que esta siendo usado!.
Según esto, los dos nombres son correcto en ambos métodos, pero por que uno empieza con "an" el otro no.
Otra duda es el hecho de que en algunos ST se usa en el messagePatter algo como esto:
add: anObject
"Adds the specified object to the receiver.
Parameters:
anObject The object to add.
Return Value:
anObject.
"
Si yo nombro a un argumento como el receptor necesita verlo, que sentido tiene colocar una descripción del mismo en parameters:.
Se supone que la forma en que esta nombrado ya lo dice todo.
Un ejemplo donde es inecesario hacer esto:
getBreakpoints: aMethodDescriptor
"
Returns the breakpoints for a given method descriptor.
Parameters:
aMethodDescriptor A MethodDescriptor.
Return Value:
An OrderedCollection of breakpoint lines or nil.
"
Además tiene sentido el Return Value: ???
En VS el método
add: anObject se ve así: VS>>add: anObject
"Answer anObject. Add anObject after the
last element of the receiver collection."
También dice que retorna anObject pero no con un Return Value:
Cual es la manera adecuada
Se que muchas de esta dudas son sutilezas pero me interesaría saber porque.
Creo que el no saberlas
hace que luego se vean cosas muy distintas en los distintos ST y que el que quiere aprender nunca sepa cual es la manera correcta de hacerlo.
Esta demas decir que busque en los históricos, pero no encontré mas referencias a este tema.
saludos kiko
Preguntá. Respondé. Descubrí.
Todo lo que querías saber, y lo que ni imaginabas,
está en Yahoo! Respuestas (Beta).
Probalo ya!