[Python-Dev] PEP 287: reStructuredText Standard DocstringFormat
Guido van Rossum
guido@python.org
Sat, 06 Apr 2002 13:47:26 -0500
> 1. 5 more characters just to get started. Probably a shift key too, if
> I'm going to be stylistically conformant with other work I've seen.
> ("""...""").
Depends on how long your comment is going to be. For long comments, a
on each line gets boring quickly, and not all editors know how to
reformat such comment blocks right.
> 2. The docstring separates the function signature from its body, which
> tends to obscure the code a bit. I prefer prefix documentation.
You have a small point there.
> 3. Weird indentation when the docstring spans multiple lines
>
> def foo(bar, baz):
> """Start of doc
> rest of doc
> and some more doc"""
> function_body()
Don't do this! There's an explicit rule that doc strings should be
indented like the code containing them, and all docstring processors
are supposed to compensate for this. Please write this, like
everybody else does:
def foo(bar, baz):
"""Start of doc
rest of doc
and some more doc"""
function_body()
Also note the blank line after the first line -- the first line is
supposed to be a one-line summary of the function (for use in
abbreviated help balloons, overviews, and so on).
> Documentation is really hard to start with, and every additional
> barrier to entry is unacceptable to me. Every time I write a doc
> string, I think of all 3 of the above things, which causes a little
> "cognitive dissonance", and makes it less likely that I'll write
> another.
Time for you to start reading more Python code -- I've never heard
this excuse before.
--Guido van Rossum (home page: http://www.python.org/~guido/)