[wp-hackers] Inline Documentation Effort was a Failure
Jacob Santos
wordpress at santosj.name
Thu May 22 03:41:30 GMT 2008
Hmm, it seemed four months away from the effort has given me insight
into my inquiry on whether the effort would actually be an success. A
successful condition would be active inline documentation maintenance,
which means active support of updating current inline documentation and
when adding new functions, making sure that they also have inline
documentation (phpdoc).
I do think it is frustrating, I was going to go ahead and restart the
effort, but updating my repository depressed me. The assumption was that
one person wouldn't have to continuous keep on top of the documentation
to make sure it was accurate and add documentation for new functions.
The attempt was to get others to accept ownership and slowly work
together to improve the inline documentation.
Reasons The Effort Failed (in my humble opinion):
1. Writing Documentation sucks
Writing user and developer documentation sucks. Writing Inline
Documentation sucks. As professionals, you have to do what needs to be
done to provide quality support to the users and developers that come
after you. Writing documentation might be akin to the 9th circle of
hell, but knowing that the person that comes after can make it into
heaven should be all the more worthwhile. Writing documentation isn't
about you, it is about the next guy who has to read your (ugly) code.
2. Doesn't help when the project leader doesn't see the importance.
I had a conversation with Matt Mullenweg,
"Why doesn't the Shortcodes have documentation?" I asked.
"What do you mean? It does have documentation. Check the codex." Matt
replied.
Yeah the first place I'm going to look for function documentation is on
the web. No. The first place I'm going to look is in the code! That
aside the documentation for the shortcodes in the codex is very good,
but it is the exception rather than the rule.
3. You can't have majority of the core developers not adding inline
documentation.
Peter Westwood appears to be the lone core developer, which consistency
adds inline documentation. I say this from my experience with his
commits from October 2007 to January 2008. So I'm going to apply my
assumption based on historical evidence rather than current evidence.
The inline documentation effort is headed for failure unless all of the
core developers understand that inline documentation is not only
important, but required. Without it, you have a situation, where some of
the code has inline documentation and most doesn't. Eventually you'll
get to a point where most of the inline documentation is either in need
of updates or most of the functions are in need of phpdoc documentation.
That said, even if all of the functions were documented today, what
would the situation be two months or two years from now? Pretty terrible.
4. Need better support from the community.
I restarted the effort to keep from having the conversation about adding
inline documentation and nothing coming from it. I did not ever plan on
having to maintain the inline documentation and I did not plan on having
to constantly keep on top of new functions being added.
You can't force anyone to do anything in an open source community.
Enough people do great things that I doubt inline documentation is a
major boon or thorn to anyone. Depressing, but I'll rather be coding
myself thank you.
5. Need rule making it a requirement for patches and for core developers.
I mean, this is implied with 2 and 3, but I came from a project where
you had to write both inline documentation and DocBook documentation. It
was a pain in the ass, but at the end of the day, it was worth it,
because everyone knew what the code was supposed to do.
WordPress didn't become popular, because of inline documentation nor
will it increase or decrease in popularity, because of it. I just doubt
that my effort and mission.
If you disagree, then by all means, please take up the effort and prove
me wrong. Hell, I'll even help prove myself wrong if you will start. If
no one else does then I'll reconsider the effort for the Fall.
--
Jacob Santos
http://www.santosj.name - blog
http://funcdoc.wordpress.com - WordPress Documentation Blog/Guide Licensed under GPLv2
Also known as darkdragon and santosj on WP trac.
More information about the wp-hackers
mailing list