Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Need Robust Software?

Make It Fragile
@yegor256
Yegor Bugayenko
“Robustness is the ability to
continue operating despite
abnormalities”
— Wikipedia
public int size(File file) {
if (!file.exists()) {
return 0;
}
return file.length();
}
public int size(File file) {
if (!file.exists()) {
throw new Exception(
"file doesn’t exist"
);
}
return file.length();
}
Fail Safe

vs

Fail Fast
try {
// something may go wrong
} catch (Exception ex) {
ex.printStackTrace();
}
// keep going...
concealing

vs

revealing
size()
size()
size()
size()
tolerance

vs

arrogance
size()
“Robustness is the ability to
continue operating despite
abnormalities”
surviving

vs

operating
What do you
think?
@yegor256
Yegor Bugayenko
www.yegor256.com
Need Robust Software? Make It Fragile
Upcoming SlideShare
Loading in …5
×

Need Robust Software? Make It Fragile

1,414 views

Published on

Kyiv DevOps Day, 27 Feb 2016

Published in: Software
  • Be the first to comment

  • Be the first to like this

Need Robust Software? Make It Fragile

  1. 1. Need Robust Software?
 Make It Fragile
  2. 2. @yegor256 Yegor Bugayenko
  3. 3. “Robustness is the ability to continue operating despite abnormalities” — Wikipedia
  4. 4. public int size(File file) { if (!file.exists()) { return 0; } return file.length(); }
  5. 5. public int size(File file) { if (!file.exists()) { throw new Exception( "file doesn’t exist" ); } return file.length(); }
  6. 6. Fail Safe
 vs
 Fail Fast
  7. 7. try { // something may go wrong } catch (Exception ex) { ex.printStackTrace(); } // keep going...
  8. 8. concealing
 vs
 revealing
  9. 9. size()
  10. 10. size()
  11. 11. size()
  12. 12. size()
  13. 13. tolerance
 vs
 arrogance
  14. 14. size()
  15. 15. “Robustness is the ability to continue operating despite abnormalities”
  16. 16. surviving
 vs
 operating
  17. 17. What do you think? @yegor256 Yegor Bugayenko www.yegor256.com

×