[GNC-dev] [GNC] ofxtools - a Python OFX library
csingley at gmail.com
Fri May 31 14:41:39 EDT 2019
On 5/31/19 12:47 PM, John Ralls wrote:
>> On May 31, 2019, at 8:51 AM, Christopher Singley <csingley at 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.
>>> 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.
> John Ralls
That's helpful discussion, thank you.
More information about the gnucash-devel