Adrian Kuhn wrote:
> Martin McClure <mar...@...> writes:
> 
>> Actually, I usually do prefer to use first person when writing Smalltalk
>> comments. I find that anthropomorphizing objects helps to think in an
>> object-oriented way.
> 
> Thanks everyone for all the answers so far!
> 
> One of the things that keep confusing me is whether the I refers to the class,
>  the object or (in a method comment) to the method or even the method
>  activation? For example in Randal's example, there it is the the behavior
>  *class* speaking in first person. Whereas to my understanding in
>  *object*-oriented programming the objects should talk be first person (not 
> the
>  classes).
> 
> Even more confusing, I have also seen comments where the it was the object or
>  the methods. Or most confusing, an amalgamation of both, as eg in "I return 
> my
>  first element" where to be precise the method activation returns the first
>  element of the object. So shouldn't it either be "(When activiated) Returns 
> my
>  first element" or "I return the first element of my reciever"? 
> 
> This is not an academic example. When I started to write comments for SUnit, I
>  got actually confused. When writing (instance/class) methods comments, to 
> whom
>  does the "I" refer to?   
> 

Good points. Existing comments are not always consistent.

In my opinion, "I" should always refer to an object. Which object?
"Self" within the current context. In an instance-side method comment,
"I" is the receiver of the message. In a class-side method comment, "I"
is the class. In a class comment, it's a little less clear, but probably
"I" should be the class in that case.

I'd probably write the above example imperatively, something like
"Answer my first element".

In Smalltalk, I also tend to prefer "answer" over "return", and I tend
to talk about "messages" instead of "methods" unless explicitly dealing
with method objects.

Regards,

-Martin

_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to