A Call for Strong Opinions in Software Development

Programmers sometimes are given a hard time because they feel passionately about their tools and methodology, and because they express those opinions strongly. Jason Cohen argues for the opposite attitude: Opinionated development is a <em>good</em> … [Read more...]

Does Pair Programming Obviate the Need for Code Review?

If you're working together with another person to write software, surely you don't need someone else to look over the code. That's part of the process. Or... is it? Almost everyone I meet who practices pair programming says that they don't need other forms of code … [Read more...]

Scrum and Code Review — they go together like beans and cornbread

Beans and Cornbread had a fight, until they realized they go together.  See documentary.Do Scrum and code review go together?  Some people think not -- that somehow agile methodologies obviate the need for human beings to look at code.But Ken Schwaber and Jeff … [Read more...]

4 Reasons I don’t like code walk-throughs

The code "walk-through" is the most common kind of code review.  Whether it's really informal with a reviewer hovering over the author's shoulder or a walk-through meeting with several people and a projector, a "walk-through" is when the … [Read more...]

Please Stop Saying Java Sucks

I'm tired of reading all these blog posts about how Java is so much worse than languages like Python and Ruby because Java programs take more lines of code or because type-checking is evil or because Java programmers are morons. There's a reason why most enterprise … [Read more...]

Jeff Atwood has been talking about code review lately

It's always fun when someone else makes my arguments for me, especially when that someone is Jeff Atwood, writer of the super-popular-and-deservedly-so Coding Horror blog and principal of Stackoverflow.  (Yes, I'm an off-and-on "Crackoverflow" addict, … [Read more...]

Code Inspection vs. Code Review — what’s the difference?

At the risk of pissing off the language police: There's no difference.What I mean is, when normal people talk about looking at each others work they use words like "inspect" and "review" interchangeably, and for me, that's okay.But. For some … [Read more...]

How peer code review fixes the “false-positive” problem with static analysis tools

If you're starting a new project, do yourself a favor and get a good static analysis tool in your standard build system.  It will prevent all sorts of little bugs and helps the code base stay sane.But if you've installed a static analysis tool on an existing … [Read more...]

Can static code analysis replace peer code review?

Whenever I talk about peer code review, someone always wants to pit static code analysis tools against human review.  Which is better?  They assume that because we sell a peer review tool we necessarily have to hate automation.But that's just not true.  … [Read more...]

Should code review metrics be LOCs or SLOCs?

You normally see code review metrics in terms of LOC (Lines Of Code).  You use for stuff like "How fast do we review code?" (LOC/hour) or "Which files are the riskiest?" (high defect density == defects/LOC).I'm frequently asked why we don't … [Read more...]