On Thu, Sep 12, 2013 at 12:01 PM, Christopher Sean Morrison <brl...@mac.com> wrote: > > On Sep 12, 2013, at 7:50 AM, Tom Browder wrote: > >> I think I have it in shape enough for criticism, but I'm still working on it. > > Seriously big thank you for working on this... we'll only need to use this > interface in about 700+ places, probably more. > > Looking at the bu_opt_parse.h, a few questions and comments come to mind: > > 1) bu_arg_parse_result_t seems unnecessary and redundant with BRLCAD_OK / > BRLCAD_ERROR > 2) bu_arg_value_t has different float types but not different int types? > maybe kill BU_ARG_FLOAT and replace INT with LONG so they're always max size > for that compilation. reduces complexity slightly too. > 3) bu_arg_req_t seems unnecessary? we use int for booleans elsewhere. > perhaps a uint8_t > 4) is there any value in making the sizes explicit in bu_arg_value or is the > variable size important? > 5) suggest including the bu_arg_value type with the value, not in bu_arg_vars > separately. something like typdef struct {int type; union {char c; long i; > double d; char *s;}} bu_arg_value_t; > 6) all typedefs should be bu_arg_something_t for bu API consistency, or we > can just
Maybe the whole API should be named bu_arg... in line with TCLAP terminology. So 'bu_opt_parse*' would be 'bu_arg_parse*'... Best, -Tom ------------------------------------------------------------------------------ How ServiceNow helps IT people transform IT departments: 1. Consolidate legacy IT systems to a single system of record for IT 2. Standardize and globalize service processes across IT 3. Implement zero-touch automation to replace manual, redundant tasks http://pubads.g.doubleclick.net/gampad/clk?id=51271111&iu=/4140/ostg.clktrk _______________________________________________ BRL-CAD Developer mailing list brlcad-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/brlcad-devel