if (a < 0)
  b = 0;
else if (a < 10)
  b = 1;
else if (a < 20)
  b = 2;
else
  b = -1;

と書くのは間違いで、(もちろん動作は問題ない)
構文に即した厳密なインデントなら

if (a < 0)
  b = 0;
else
  if (a < 10)
    b = 1;
  else
    if (a < 20)
      b = 2;
    else
      b = -1;

が正しいということか。。。