Docstrings considered too complicated
MRAB
python at mrabarnett.plus.com
Fri Feb 26 22:25:47 EST 2010
Steven D'Aprano wrote:
> On Fri, 26 Feb 2010 18:47:26 -0600, John Bokma wrote:
>
>> Steven D'Aprano <steve at REMOVE-THIS-cybersource.com.au> writes:
>>
>>> On Fri, 26 Feb 2010 09:09:36 -0600, Tim Daneliuk wrote:
>>>
>>>> Reminiscent of:
>>>>
>>>> mov AX,BX ; Move the contents of BX into AX
>>>
>>> That's a *good* comment, because without it most English-speaking
>>> people would assume you were moving the contents of AX into BX.
>> Eh? It's a bad comment, it's of the same quality as:
>>
>>> x = x + 1 # Add one to x.
>> You think the former is good because (I guess) you are not familiar with
>> the language. The same reason why beginners comment their code like in
>> your example.
>
> Well, in the second example, x+1 could not possibly be anything other
> than adding one to x in any language, programming or human: using "+" for
> addition is close enough to universal these days. Unless x is some fancy
> object that plays operator overloading tricks, then what else could x+1
> be?
>
> On the other hand, mv AX,BX is not only ambiguous but in the example
> given the move occurs in the counter-intuitive direction, at least for
> English-speakers and probably most speakers of European languages. So
> even an experienced coder might like the reminder that this specific
> assembly language moves things backwards compared to his intuition, or
> compared to the way the rest of the language does things.
>
> Admittedly an experienced coder might be so used to that syntax that he
> no longer needs the comment, in which case he might find it unnecessary.
> But comments aren't written for the benefit of people who find it
> obvious. They're written for everyone else. ANY comment could be
> dismissed as unnecessary for somebody who is so familiar with the
> language and code in question that it is obvious what it is doing.
>
> Also, some assemblies perform the move in different directions according
> to the arguments. So you might have:
>
> mv AX,BX ; move contents of BX into AX
> mv @CX,DX ; move contents of @CX into DX
>
> Horrible, yes, but apparently some assembly languages did something like
> that.
>
Ah, yes, "apparently". That's like saying "someone down the pub told
me...". ;-)
More information about the Python-list
mailing list