| We used to do a kind of unit tests in place. (We called them param checking.) In my experience unit tests have been simply a questionable yardstick management uses to feel at ease shipping code. "98% code coverage with unit tests? Sounds good. It must be 98% bug-free — ship it." Not that anyone ever exactly said that but that's essentially what is going on. Code reviews seem to bring out the code-nazi types. Code reviews then break any goodwill between team members. I preferred when I would go to a co-workers office and talk through an issue, come up with a plan to solve the problem. We trusted the other to execute. When code reviews became a requirement it seemed to suck the joy out of being a team. Too frequently a code review would turn into "here's how I would have implemented it therefore you're wrong, rewrite it this way, code does not pass." Was that a shitty code reviewer? Maybe. But that's just human nature — the kind of behaviors that code "gate keeping" invites. |