It’s not the preprocessor which produces bad code, it’s the developer using it the wrong way. Nesting is one of the features which, when misused, produces hard to read, and even harder to maintain code. I will show you a few pitfalls of selector nesting and how to avoid them.