// パターンA
int func(char * string, int value)
{
int return_value;
if (string == NULL) {
return (-1);
}
if (value < 0) {
return (-1);
}
// 中略
return (return_value);
}
// パターンB
int func(char * string, int value)
{
int return_value;
if (string == NULL) {
return_value = -1;
goto exit;
}
if (value < 0) {
return_value = -1;
goto exit;
}
// 中略
exit:
return (return_value);
}
// パターンC
int func(char * string, int value)
{
int return_value;
if (string == NULL) {
return_value = -1;
}
if (return_value != -1 && value < 0) {
return_value = -1;
}
// 中略
return (return_value);
}
// パターンD
int func(char * string, int value)
{
int return_value;
return_value = -1;
if (string != NULL) {
if ( 0 <= value ) {
//さらにネストが深くなる
// 中略
}
}
return (return_value);
}
最終更新:2013年05月29日 08:32