HTML attributes and tags - slight tweak
Hi Everyone, Dave Hyatt's recent code QualifiedName changes were a much-needed code cleanup and structural improvement. However, as things stand, the symbolic names used for specific HTML tags and attributes in the code have gotten a bit wordy. Compare: Before: --------- ID_SPAN ID_A ATTR_SRC ATTR_CLASS After: ------ HTMLTags::span() HTMLTags::a() HTMLAttributes::src() HTMLAttributes::classAttr() When you have an if test checking for several of these I think it actually starts to hurt legibility a bit. Dave and I discussed ways to improve this a bit and here's what we came up with: * Change the various html name symbols from functions to global variables - currently they are just inline functions that return a global, which doesn't add much. * Combine HTMLTags and HTMLAttributes classes into a single HTMLNames namespace. * Suffix all tag names with Tag and all attribute names with Attr The net result would be that you import the HTMLNames namespace, and you can write: Proposed: ------------ spanTag aTag srcAttr classAttr Which compares favorably to the old names. In cases where you might care about more than one markup language's set of names you wouldn't import the HTML namespace, and could write them fully qualified, e.g. HTMLNames::spanTag. One possible variant is to just call the namespace HTML, so in the fully qualified case you could just write HTML::spanTag. The tradeoff is that people might expect the namespace to contain more than just the names in that case, they might expect it to contain the whole HTML DOM, which it wouldn't. Anyway, I wanted to send this out to see if anyone has comments before I make the change, so we can avoid too much thrashing back and forth on the names. Regards, Maciej
participants (2)
-
Darin Adler
-
Maciej Stachowiak