I support @Mohammad’s providing guideline where we say unless you have a good reason we recommend you follow the conventions.
- But I think rules are meant to be broken and from this we get innovation
- Ideally when you do decide to step out side the standard you should document this fact so when others are trying to understand your code they can.
- wandering from the standard should be fine but if you wander from it too much and in too many directions it becomes more complex and you may even make life difficult for your self.
For example I would do something similar for fieldnames, I personally keep to the older standards of field names with no spaces, lowercase and words joined by “-” but since 5.2.0 (I think), we can include spaces and a lot more. When and if I step out side this restricted naming I do so for a reason. eg the fieldname is also a tiddler name.
Philosophically,
- if you do not stray into using a larger set of naming standards they remain available for when you need them.
- Naming standards can quickly help you identify what you are looking at, they do not force to to need to refer to anywhere else, just to see what you mean. The meaning is in the name. Dare I say rather than “the message is the medium”, “the name is the message”.
As with fields I also support using clear and meaningful, plain language variables. Now some will say but that means you may clash with other plugins and macros but 90% of the time this is not true because variables typically are constrained by there context and can be redefined/reused as many times as you want - fields not so easily, global macros somewhat.
Did you know you can use in filters fieldname[fieldvalue]
so you can in effect write your own filter operators display-details[yes]
well now we can use macros with parameters in filters we can possibly do this with macro names.
- In these cases plain language code is easy to use (at least in a language you speak)