In my experience writing readable and maintainable code is like trying to tell a story to a 10 year old.
Whenever you really have to deviate from those rules, comment. Not only on what you are doing but specially why you are doing it.
Young programmers have a hard time following those. Juniors can't recognize when they are making a mess, but more experienced devs because they like pumping their ego showing the world how smart they are with convoluted code.