Facebook
From Subtle Camel, 4 Months ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 66
  1. Evgeniy S., [05.05.20 11:18]
  2. вот наглядный пример что будет с функцией где 7 goto, если их убрать: https://stackoverflow.com/a/13001370
  3.  
  4. Structured version:
  5.  
  6. if (do_something() != ERR) {
  7.     if (do_something2() != ERR) {
  8.         if (do_something3() != ERR) {
  9.             if (do_something4() != ERR) {
  10.                 ...
  11.  
  12. Goto version:
  13.  
  14. if (do_something() == ERR)  // Straight line
  15.     goto error;             // |
  16. if (do_something2() == ERR) // |
  17.     goto error;             // |
  18. if (do_something3() == ERR) // |
  19.     goto error;             // V
  20. if (do_something4() == ERR) // emphasizes normal control flow
  21.     goto error;