"Zustand" oder "Status"? Wann sollte ein Variablenname das Wort „Status“ enthalten und wann sollte ein Variablenname stattdessen das Wort „Status“ enthalten? [geschlossen]

16

Beim Lesen von Code und Diskussionen zu Code werden die Wörter "state" und "status" häufig synonym verwendet, aber die folgenden Tendenzen scheinen zu existieren:

  • Wenn eine Variable einen Wert enthält, der anzeigen soll, dass sich etwas in einem bestimmten Zustand befindet, enthält der Name dieser Variablen häufig das Wort "Zustand" oder eine Abkürzung davon.

  • Wenn der Rückgabewert einer Funktion jedoch dazu dient, einen solchen Zustand anzuzeigen, neigen wir dazu, diesen Wert als "Statuscode" zu bezeichnen. und wenn dieser Wert in einer Variablen gespeichert ist, wird diese Variable üblicherweise als "Status" oder etwas Ähnliches bezeichnet.

Für sich genommen ist das alles in Ordnung, aber wenn die oben genannten Variablen tatsächlich ein und dieselbe sind, muss eine Wahl getroffen werden, die die perversen Feinheiten der englischen Sprache (oder der menschlichen Sprache im Allgemeinen) einbezieht.

Was ist der vorherrschende Kodierungsstandard oder die vorherrschende Konvention, wenn es darum geht, zwischen den beiden zu unterscheiden? Oder sollte einer von beiden immer gemieden werden?

Diese englisch.stackexchange Frage ist auch relevant, nehme ich an.

Wille
quelle
2
Daher dieser Crowdsourcing-Versuch. Dies ist jedoch nicht der Ort für Meinungsumfragen.
Martijn Pieters
Nicht auf einer Stack Exchange-Site. ein forum vielleicht?
Martijn Pieters
Es wäre sicherlich ein bisschen besser. Das "Polling" im Titel müsste auch gehen.
Martijn Pieters
6
Der Status dieser Frage wird bald geschlossen , aber es wird in einem aktiv bleiben Zustand für einige Zeit danach.
Reactgular

Antworten:

14

Ich mag diese Frage. Das Folgende ist von meinem Kopf, aber ich denke, es passt ganz gut.

  • status wird verwendet, um ein Ergebnis einer Operation zu beschreiben (z. B. Erfolg / Misserfolg).

  • Mit state wird eine Phase in einem Prozess beschrieben (z. B. ausstehend / versandt).


Mir gefällt auch diese Definition:

  • status ist ein endgültiger (resultierender) Zustand.

Es ist ziemlich klar, wenn es auf die Programmierung angewendet wird. Viel weniger klar, wenn Sie es auf natürliche Sprache anwenden. Nehmen wir die Beispiele aus dem englischen Thread und sehen, ob sie die am besten bewertete Antwort enthalten.

"Wie ist der aktuelle Status dieses Projekts?" Die Antwort sollte "Beim Testen" sein.

Nun, dies mag auf den ersten Blick meinen Definitionen zu widersprechen scheinen, aber wir müssen den Kontext erkennen. Wahrscheinlich fragt ein Vorgesetzter sein Team nach dem Projekt und wie weit es gekommen ist . Der Punkt ist, dass der Supervisor bis jetzt am Ergebnis interessiert ist. Die Tatsache, dass es danach etwas geben wird, wird einfach weggeräumt, weil es nicht der Sinn der Frage ist.

"Wie ist der aktuelle Stand dieses Projekts?" Die Antwort sollte "Für Finanzanalysen angehalten" sein.

Ich denke also, dass dies sehr gut das Wesen eines Staates demonstriert. "Zur Finanzanalyse angehalten." konzentriert sich eindeutig auf die Tatsache, dass die aktuelle Situation Teil eines umfassenden Prozesses ist und sogar den nächsten Zustand nahelegt.

Ich würde sagen, es hält ziemlich gut.

Klima
quelle
Dies sind meiner Meinung nach die nützlichsten Definitionen für die Programmierung. Ich verwende "Status", wenn ich bereit bin zu beschreiben, ob die Operation erfolgreich war oder nicht, und "Status", um ausführlichere Beschreibungen zu erhalten.
cprcrack
3

Nach dem, was ich gesehen habe, wird "state" oft für Dinge verwendet, die sich ändern können, und der Programmierer hat zumindest ein gewisses Maß an Kontrolle darüber, wie / wann er sich ändert (auch wenn indirekt). Es wird auch fast immer verwendet, um sich auf positive Zustände zu beziehen. "Sie haben die Verbindung getrennt."

"Status" ist eher das Gegenteil. Es wird in der Regel für Dinge verwendet, die ohne die Eingabe des Programmierers geschehen - und die der Programmierer häufig nicht ändern kann. Es wird auch häufig für negative Zustände verwendet. "Der Status Ihrer Verbindung ist (Prüfung ...) getrennt."

Telastyn
quelle
1

"State" lässt mich an "State Machine" denken und ich verwende es normalerweise, um auf etwas Internes / Technisches zu verweisen, wie "Open", "Parsing Header", "Verhandeln von Formaten", "Lesen von Text", "Lesen von Video". usw. Etwas, das einem Programmierkollegen vielleicht etwas ausmacht, das aber nicht (viel) für den Endbenutzer bestimmt ist. Vielleicht, wenn sie nach mehr Details zu einem Fehler fragen, aber nicht als Erstes.

"Status" ist für einen Endbenutzer weniger technisch und mehr, z. B. "Lesen", "Fehler 404", "Erfolg 200".

Alles IMHO.

user949300
quelle