Zielun asks of managing projects:
It often happens in projects that based on one, large system with tons of modules that can be enabled or disabled, and documentation is often not up-to-date or doesn`t exist at all. At least I have such experience. I know that real problem lies elsewhere like in project management but such things often plays main role when you or team decides which coding standard to pick for a project to solve such issues.
This project detritus can definitely be frustrating. Big projects that go on for extended periods of time begin looking like sediment layers of a rock formation. It becomes an interesting archaeological expedition as you chip away at the months (and years) of development and can almost pinpoint the time that a chunk of code was written based on the style it was written.
I’ve rarely seen a long running project maintain an absolutely rigid and consistent coding style. We make mistakes in the course of building a project, correct those mistakes, but rarely go back to correct the ill-conceived approaches used at the beginning of a project.
Nobody wants to clean out the cruft for fear of unsettling the foundation and having the entire project collapse on them.
A modular approach, a good naming convention, and an reduction of element selectors can make it much easier to determine what is and isn’t being used on a project. Do a search for a module name and you’ll discover right away if it is used and where it is used. Tools can be built to automatically review which classes are being used and which aren’t.
This is easier to do if you keep styles in the CSS. Don’t keep them inline and don’t set them in script.
Why avoid element selectors? HTML can change but it’s not as easy to tell if the CSS is being used or not unless you examine every instance. How relevant is #sidebar h2
if I’ve long since switched level 2 headings to level 3 headings?
To be clear, element selectors can be quite useful. Don’t throw out the baby with the bath water. Just strike that balance between when to use an element selector and when adding a class would be cleaner, clearer, and more semantic.
Of course, I talk more about this in a little e-book I wrote…*ahem*