Unit Tests. If you can't write a unit test for it, it's too complicated and it's going to snowball quickly into a giant mess.
It's a justifiable trade off for me, but I don't pretend that unit testing reduces complexity.
The very comment at the top of this sub-thread does not seem to limit itself to the subject of unit tests.