Below are several thoughts on our API evolution. Not a rant, just words of concern and motivation.
> -extern const struct db5_attr_ctype db5_attr_std[]; > +RT_EXPORT extern const struct db5_attr_ctype db5_attr_std[]; I'm slowly catching up but am quite behind on my usual commit reviews, but this recent unveil is a bit concerning.. a global array being added to librt? I have seen all of the attr work recently (Tom et al.), but haven't gotten into the details. I don't think we want to be introducing any new globals, especially not crash-prone arrays to public API. Moreover, the library should be stateless or parallelism is ruined and arrays are implicit state. There are other ways... :) I was also under the assumption that we'd be handling "standard" attributes via namespacing (i.e., a 'cad:' naming prefix convention), but I'll hold those thoughts until the current design can be reviewed appropriately. There's nothing that precludes them from being stored separate, but it may be unnecessary complexity. Something for all to remember is our goal to have 100% complete API documentation. That means every new line that goes into a file in the include/ directory (every #define value, macro, function decl, variable decl, ...) is required to have documentation. We should be cautious, resistant even, to adding new complexity to the public APIs. And if we can implement something by adding fewer things that need /** */ documentation, we should. Less is definitely more. Everything new should have a strong justification and be taken to completion before moving on. Forethought into the impact is a good thing, considering how to improve capability without just adding more. Cheers! Sean ------------------------------------------------------------------------------ Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk _______________________________________________ BRL-CAD Developer mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/brlcad-devel
