On Mon, Dec 28, 2009 at 5:56 AM, Martin McClure <[email protected]>wrote:
> 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 often write "My instances" for class comments. > 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 > -- Cheers, Peter
_______________________________________________ Pharo-project mailing list [email protected] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
