Sollte ich return TRUE / FALSE-Werte aus eine C-Funktion?

Nach der Programmierung in C für mehrere Jahre, ich erkannte, dass ich ignoriert und die C-Konvention der Rückgabe von null aus eine Funktion, um anzuzeigen, Erfolg. Die Konvention scheint semantisch falsch, mich als null ist natürlich falsch. Das problem ist, mag ich Namen, Funktionen wie is_valid_foobar(), und um zu empfangen, die das übereinkommen von 'false bedeutet Erfolg, würde ich nur noch vage...
das ist statt:

if ( ! is_valid_foobar() ) {
    return (error);
}

Andere Programmierer schreiben:

if ( validate_foobar() ) {
     return (error);
}

Und meine Implementierung sieht so aus:

int is_valid_foobar (int foobar ) {
     if ( foobar < MAX_ALLOWED ) {
          return TRUE;
      }
      return FALSE;
}

Habe ich nicht wirklich gefangen flak für diese in code-reviews. Also ich denke, es ist nicht so eine schreckliche Angewohnheit, aber es ist 'unkonventionell'. Ich bin gespannt, was die Leute denken.

Ich bin sehr vorsichtig über die Entscheidungen, die ich für Funktions-und Variablennamen, und ein typisches review-Kommentar "der code ist wirklich klar", und weiter, es stört mich nicht überhaupt zu zu können, geben eine zusätzliche ! an, der vor dem Aufruf der Funktion. Aber was sagst du, oh mächtigen von S. O?

InformationsquelleAutor Leonard | 2009-02-17

Leave a Reply

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.