I suggest to think deeply about what you mean when you say “clean” or “dirty”. Do you get a feeling of revolt? Righteousness? Beauty? Elegance? How sure are you that you can name the concrete engineering outcomes corresponding to those qualities? How exactly do they affect the way the code is written and modified?

A lot of people follow “rules” and “conventions” just for the sake of it, but don’t really care about the why’s. I mean, rules and conventions are good, but they usually exist for a reason, and sometimes, that reason does not apply to your code.

Don’t follow rules as a religion. Or, in Dan’s words:

Don’t be a clean code zealot