Recent Posts
None | 3 sec ago
None | 6 sec ago
None | 10 sec ago
None | 11 sec ago
C++ | 28 sec ago
Lua | 1 min ago
None | 1 min ago
AutoIt | 1 min ago
Haskell | 1 min ago
Java | 1 min ago
Sitereport
Find cool info about any domain on the internet?
visit sitereport
Free Subdomains
Want a pastebin.com sub-domain for your community?
learn more...
What is pastebin?
Pastebin is a website that hosts all your text & code on dedicated servers for easy sharing.
learn more...
By Anonymous on the 16th of Apr 2009 09:26:59 PM
Download |
Raw |
Embed |
Report
/* 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;
}
/* Almost goto err */
int foo(int bar)
{
do
{
if (!do_something( bar ))
break;
if (!init_stuff( bar ))
break;
if (!prepare_stuff( bar ))
break;
return do_the_thing( bar );
}
while (0);
return 0;
}
Submit a correction or amendment below.
[ previous version ] | [ difference ] | Make A New Post