Cliff raised a good point the other day noting that we're not doing a very good 
job consistently utilizing attribute names.  These effectively become reserved 
attribute names, which Cliff has begun documenting in 
doc/docbook/system/man5/en/attributes.xml

Not to start a bikeshed debate, but thoughts on convention?  Consider the 
current names used for storing a region identifier number:

region_id
REGION_ID
id
ID

While brevity was once a tenant of our design, ambiguity is obviously bad.  
That leaves a choice of uppercase or lowercase with underscores, and camelCase 
(e.g. regionId or regionID or RegionID, etc).  My inclination is to make 
attribute keys case insensitive (if they're not already) so a debate over upper 
vs. lower would be moot.  This would be case-preserving, but insensitive on 
comparisons for the sake of usability.

Current attributes identified:

region flag ('region')
region identifier ('region_id')
material identifier ('material_id')
air flag ('air')
line of sight equivalence factor ('los')
rgb color ('rgb')
shader name ('oshader')
shader inheritance flag ('inherit')

Listed in parens is the current "preferred".  I suggest that we change oshader 
to shader and deprecate the (unlisted) variants.

More contentiously, we could prefix them all with "cad::" (e.g. cad::rgb) as a 
simple scoped naming convention on the attribute name.  Adding namespace 
support could follow so users didn't have to specify the namespace, but could 
to disambiguate.

Any thoughts? 

Cheers!
Sean



------------------------------------------------------------------------------

_______________________________________________
BRL-CAD Developer mailing list
brlcad-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/brlcad-devel

Reply via email to