And lastly-- there are no real rules (except the one about commenting -- non-commenting coders are about the only thing that drive me nuts in programming... well, that and bugs in syntax rather than logic).

Not commenting your code is only attributable to laziness, slopiness and/or thinking you're smarter than everyone else. None of those attributes actually help anyone (even yourself) write better code. They may help in some kind of therapy/issue area, but that's pretty far from my area of expertise.

Some people can instantly decode a complex nested string manipulation statement... so they would 100% disagree with having more lines of code in order to debug. And I can't disagree with them -- as long as they provide a comment that says something like
'convert "XYZ123" into "1X2Y3Z"
So that someone else can come along and at least understand what the before and after is supposed to look like. I'd prefer that it stepped through the process in multiple lines of code, but the only real rule is that my Future Self not have to try and wade through a multi-nested operation on a single line with zero guide-posts other than stepping through the code.