パターン

// パターン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
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。