Views
Having lots of logic in your views is a huge anti-pattern. Don't do it. It's hard to test, it's hard to find, it's hard to write sandwiched in between the HTML... Just don't.
Instead, your views should contain HTML, variables that turn into HTML, and calls to helper methods that generate HTML - or whatever your final output format is. There should be no logic in there
to test. No conditionals, no loops, no non-display methods. If you add an output format, there should be no code to repeat because all the interesting data transforms already happened, and no other output format cares about your HTML-only helpers. Right?