Who Reads Your Code? Man or Machine?

I spent entirely too much time debugging the following today:

 

int foo(int num, int l) {
  int baz = 1;
  int bar = l;
  return bar + baz;
}
What gets returned for foo(2,2)? 

If you guessed 2, you are dumb like me.  If you guessed 3, you noticed that the author of this broken code used a variable named “l”, and despite the fact that it looks like a “1”, it is not!

It’s easy to write code that machines understand.  The hard part about being a software engineer is writing code that both machine AND man can understand. 

Leave a Reply

Your email address will not be published. Required fields are marked *