Skip to Content
Java By Comparison
book

Java By Comparison

by Simon Harrer, Linus Dietz, Jörg Lenhard
March 2018
Intermediate to advanced
208 pages
4h 52m
English
Pragmatic Bookshelf
Content preview from Java By Comparison

Always Use Braces

 class​ BoardComputer {
 
  CruiseControl cruiseControl;
 
 void​ authorize(User user) {
  Objects.requireNonNull(user);
»if​ (user.isUnknown())
  cruiseControl.logUnauthorizedAccessAttempt();
»if​ (user.isAstronaut())
  cruiseControl.grantAccess(user);
»if​ (user.isCommander())
  cruiseControl.grantAccess(user);
  cruiseControl.grantAdminAccess(user);
  }
 }

Here we’ve translated the switch statement from the previous comparison into separate if statements. There’s one problem, though. The indentation in the snippet is perilously misleading. There are no curly braces after the if, so the condition applies only to the subsequent line. That makes the whole method behave maliciously—the line cruiseControl.grantAdminAccess(user); ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Java 8 in Action

Java 8 in Action

Mario Fusco, Alan Mycroft, Raoul-Gabriel Urma
Java 8 Lambdas

Java 8 Lambdas

Richard Warburton
Think Java, 2nd Edition

Think Java, 2nd Edition

Allen B. Downey, Chris Mayfield
Modern Java in Action

Modern Java in Action

Raoul-Gabriel Urma, Mario Fusco, Alan Mycroft

Publisher Resources

ISBN: 9781680505887Errata Page