I like to assert a lot, check out this for my take on them: http://www.merowing.info/2013/07/expanded-use-of-asserts/