On Wed, 28 Jul 2010 23:46:01 -0300 Gustavo Sverzut Barbieri
<barbi...@profusion.mobi> said:

> On Wed, Jul 28, 2010 at 10:56 PM, Michael Blumenkrantz
> <m...@zentific.com> wrote:
> > As many of you are aware, much of our documentation ranges from being
> > somewhat poor to nonexistent.  If we are seriously considering any sort
> > of release in the near future, as we seem to be gearing up for with
> > things like official code formatting, we need to fix this.
> >
> > I propose that as of now, patches implementing new EAPI functions which
> > are not accompanied by appropriate doxygen docs be rejected until the
> > docs have been written.  This will cut down on the work for people like
> > me, who have been actively trying to fill in the gaps.
> >
> > I cannot be everywhere to babysit all commits and write READABLE docs
> > for them, nor do I want to.
> [...]

i agree - and documentation != "write the function name in english". efl
function names, enums, etc. are very long and descriptive. this alone limits
the need for documentation - but docs that simply re-write this already given
info are pointless. docs need to cover pre and post conditions side-effects,
assumptions, intended use scenarios and probably even an example of how to se
the call - maybe in multiple scenarios.

> Excellent mail Michael!
> 
> To better define what is a READABLE (and useful) documentation, please
> document the assumptions such as pre and post conditions:
> 
>     - is it a pointer? can it be NULL? what is the effect of NULL?
> what's the effect of non-NULL? (let's save some crashes!)
> 
>     - is the pointer const? make sure no reference is taken, if it is,
> document this (often we allow const void*data for callbacks, the
> references are taken, although not touched directly)  If it is a
> stringshare, make it clear so people may benefit from it (ie:
> eina_stringshare_ref() is much cheaper than eina_stringshare_add())
> 
>     - is the pointer not const? do you keep a reference? steal it? why
> is it not const? what are the consequences?
> 
>     - is it a return? should the user free it? how to free it? plain
> free() or some other call?
> 
>      - add @see for "see also" referring to similar functions (ie:
> eina_stringshare_add() should refer to eina_stringshare_add_length())
> or complimentary (ie: eina_stringshare_add() should refer to
> eina_stringshare_del() and eina_stringshare_replace()).
> 
>      - last but not least: document some special behavior of the
> function. Yes, the name should say it all, but sometimes we just say
> "sort" but do not specify the algorithm, so eina_list_sort() says the
> complexity of the worst case, it also say the sort is in-place, etc.
> 
> 
> I hope it help, and that Michael can keep his pace... because I did
> lots of docs but then gave up :-P
> 
> -- 
> Gustavo Sverzut Barbieri
> http://profusion.mobi embedded systems
> --------------------------------------
> MSN: barbi...@gmail.com
> Skype: gsbarbieri
> Mobile: +55 (19) 9225-2202
> 
> ------------------------------------------------------------------------------
> The Palm PDK Hot Apps Program offers developers who use the
> Plug-In Development Kit to bring their C/C++ apps to Palm for a share
> of $1 Million in cash or HP Products. Visit us here for more details:
> http://p.sf.net/sfu/dev2dev-palm
> _______________________________________________
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    ras...@rasterman.com


------------------------------------------------------------------------------
The Palm PDK Hot Apps Program offers developers who use the
Plug-In Development Kit to bring their C/C++ apps to Palm for a share
of $1 Million in cash or HP Products. Visit us here for more details:
http://p.sf.net/sfu/dev2dev-palm
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to