Was bedeutet 'rc' für Funktionsrückgabewerte? [geschlossen]

8

Beim Lesen von C-Code stoße ich oft auf Aussagen wie:

  
    

int rc = foo (bar, baz);     assert (rc! = NULL);

  

wobei die Variable rc zum Überprüfen des Rückgabewerts der Funktion verwendet wird. Ich nehme an, es ist eine Art Merkspruch, aber ich kann seine Bedeutung nicht ableiten.

Ich möchte seine Bedeutung wissen, um mit meinem Verständnis des Codes zu helfen.

    
krm 26.02.2013, 14:24
quelle

4 Antworten

9

Ich denke, es ist "Rückkehrcode". Meistens verwendet, um auf ganzzahlige Rückgabecodes von 0/NULL or 1 form zu verweisen.

    
favoretti 26.02.2013, 14:26
quelle
9

rc steht für "rutabaga casserole". Was? Du denkst das nicht?!

Nun, die Tatsache ist, dass niemand sagen kann, wofür das wirklich steht, weil es keine vorgeschriebenen Namen im C-Code gibt. Es könnte für "Return-Code" oder "Fernbedienung" oder was auch immer der Autor in seinem Kopf hatte, stehen.

  

Ich würde gerne wissen, dass es Sinn macht, mit meinem Verständnis des Codes zu helfen

Ihr Argument ist von Natur aus fehlerhaft. Wenn Sie Code besser verstehen möchten, lesen Sie die Dokumentation und die Quelle der verwendeten Funktionen. Vertrauen Sie niemals darauf, dass die Namen von Funktionen oder Datentypen Vorrang vor dem Code haben, der tatsächlich ausgeführt wird.

Bearbeiten, um den Kommentar zu adressieren:

  

Eigentlich denke ich, Ihr Argument ist fehlerhaft, Mike. Es ist absurd zu sagen, dass das Kennen gebräuchlicher Variablennamen Ihnen nicht helfen wird, Code zu verstehen, trotz der Tatsache, dass sie nicht vorgeschrieben sind. Zum Beispiel ist es allgemein bekannt, dass i häufig (aber nicht vorgeschrieben) als Schleifeninkrementvariable in allen Sprachen verwendet wird.

Es ist ein faires Argument zu sagen, dass es tatsächlich variable Namen gibt, denen die Leute folgen. Wir sehen ret oder rc für einen Rückgabewert oder einen Rückgabecode, häufig sehen wir einzelne Variablen a , b , c , ..., i , j , k , wird für Schleifenoperatoren verwendet. Es ist jedoch eine schreckliche Idee, eine Annahme darüber zu machen, was eine Variable basierend auf einem Namen macht.
Nicht nur die Annahme, dass die Variable falsch steht (zum Beispiel könnte ein einfacher i in einer Ohm'schen Gesetzfunktion der gewählte Name sein, um Strom darzustellen, nichts mit Schleifen zu tun), sondern auch, was macht Sinn für Sie könnte nicht sein, was für den Autor sinnvoll war. Beispiel: Der Autor hat eine Variable int return_code . Sie könnten davon ausgehen, dass der Rückgabecode der Funktion enthalten sein wird, aber vielleicht wird er verwendet, um den zurückgegebenen Wert einer Funktion mit dem Namen in zu überprüfen. Die Variable int r wird verwendet für den Rückkehrcode stattdessen.
Nehmen wir an, Sie sehen, dass die Variable count ein Schleifen-Iterator oder eine Anzahl von Dateien ist, oder ist es ein Zähl-Semaphor?

Also, Chris Redford, ich muss dem vorbehaltlos widersprechen. Es ist nicht absurd zu sagen, dass das Kennen gebräuchlicher Variablennamen nicht helfen wird, Code zu verstehen, weil es nicht besser ist, als den Code selbst zu lesen, und er könnte Sie auf einen verirrten Pfad führen, der Sie denkt Wissen Sie, was passiert, wenn Sie es wirklich nicht tun.
Wenn Sie den Quellcode verstehen, sehen Sie return xxx; oder for(int yyy=0; und Sie müssen keine Annahmen darüber machen, was diese Variablen tun, werden Sie sicher wissen, und das ist der nur Weg garantiert zu werden Sie wissen, was passiert.

    
Mike 26.02.2013 14:59
quelle
3

Ich würde "Ergebniscode" erraten, aber es ist nur eine Vermutung natürlich.

    
unwind 26.02.2013 14:25
quelle
2

Es bedeutet oft "Rückgabecode" oder "Ergebniscode", obwohl es im Grunde alles bedeuten könnte, was der Autor beabsichtigt hat. Wie die Namenskonventionen zeigen, ist es nicht so toll. Ich meine, es ist besser als myVariable , aber nicht viel.

Ich stimme der Idee zu, dass Variablennamen sinnvoll sein sollten, und rc ist nicht besonders aussagekräftig. Wenn es "Ergebniscode" bedeutet, dann lautet meine Frage "Ergebnis von was ?" Was bedeutet der Rückkehrcode?

    
John Bode 26.02.2013 14:46
quelle

Tags und Links