> On May 31, 2019, at 8:51 AM, Christopher Singley <csing...@gmail.com> wrote:
> 
> On 5/31/19 9:58 AM, John Ralls wrote:
>> The GnuCash API documentation is generated by Doxygen. Some parts are 
>> documented better than others. It's built nightly and may be found at 
>> https://code.gnucash.org/docs/MAINT.
>> 
>> Regards,
>> John Ralls
> If I want to find, say, gnc_account_imap_find_account(), there doesn't seem 
> to be a relevant overview. The function name seems to be directing me to 
> Account.h, where I can indeed find it in context, along with a helpful 
> comment adjacent.  It's a start in making sense of it.
> 
> But what about, say, xaccLotComputeCapGains()?  Where do I look to find that?
> 
> There's many hundreds of these dumped one after the other in the python 
> wrapper bindings module.  The reverse lookups are painful.
> 
> I can't imagine this is a focus for a large C application, but the work done 
> by the fellows from parit is tantalizing.

There's a function index at 
https://code.gnucash.org/docs/MAINT/globals_func_x.html but 
xaccLotComputeCapGains isn't in it. I had to grep for it, it's in 
libgnucash/engine/capgains.[ch] and has no documentation at all, which is why 
it's not in the function index.

In theory the beginning of function names should begin with the class and the 
class's interface should be described in a file named class.h and should be 
implemented in class.c. The original, basic classes like Account, Split, and 
Transaction have function names beginning with xacc, for X-Accounting, 
GnuCash's original name; most of the rest have names beginning with Gnc or QOF 
(for Query Object Framework). 

Unfortunately over the years the discipline of following that theory has broken 
down many times and we wind up with functions in unexpected headers and 
implementation files.

Regards,
John Ralls

_______________________________________________
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel

Reply via email to