I want to unsubscribe please;



At 2012-11-15 16:03:39,Glyph <gl...@twistedmatrix.com> wrote:
A long time ago, we made an informal policy decision about redundancy between 
documentation of instance variables and constructor parameters.  Specifically 
we decided that if an initializer simply takes a bunch of parameters, then sets 
them as attributes on self under the same name, it would be redundant to 
document them both with @ivar and with @param.  Arbitrarily, we decided that 
@ivar is the one we would standardize on.


Later, we decided that too many attributes were public and we should default to 
making more things private.


The unfortunate confluence of these decisions has resulted in API documentation 
like this:



<http://twistedmatrix.com/documents/12.2.0/api/twisted.web.client.Agent.html>


Note that the public "__init__" is undocumented, but all the private, 
greyed-out attributes have documentation.


This is technically a violation of the original policy statement - although 
nobody can really be blamed for that, since as far as I can tell it's not 
actually written down anywhere - in that the @ivars have different names than 
the parameters to __init__, since they all start with _.


Of course, it would still be super redundant to document everything twice if 
the parameters and the attributes are in fact the same.


However, I think that going forward, this tendency should be amended so that, 
in the case where the attributes are private but the __init__ parameters are 
public, they should be documented with @param statements and not with @ivar 
statements.  More generally, if the same thing has to be documented twice, and 
it's public in one place and private in the other, the public documentation 
should always be preferred.


(And perhaps it should be officially documented in the coding standard.)


Thoughts, anyone?  Shall I file a ticket?


-glyph
_______________________________________________
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python

Reply via email to