Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Problem: Inefficient and confusing */
- int foo(int bar)
- {
- int return_value = 0;
- int doing_okay = 1;
- doing_okay = do_something( bar );
- if (doing_okay)
- {
- doing_okay = init_stuff();
- }
- if (doing_okay)
- {
- doing_okay = prepare_stuff();
- }
- if (doing_okay)
- {
- return_value = do_the_thing( bar );
- }
- return return_value;
- }
- /* Problem: Getting murdered by PHB's for using goto */
- int foo(int bar)
- {
- if (!do_something( bar )) {
- goto error;
- }
- if (!init_stuff( bar )) {
- goto error;
- }
- if (!prepare_stuff( bar )) {
- goto error;
- }
- return do_the_thing( bar );
- error:
- return 0;
- }
- /* Problem: Too many nested blocks, horrible */
- int foo(int bar)
- {
- int return_value = 0;
- if (do_something( bar )) {
- if (init_stuff( bar )) {
- if (prepare_stuff( bar )) {
- return_value = do_the_thing( bar );
- }
- }
- }
- return return_value;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement