"Stato" o "stato"? Quando un nome di variabile dovrebbe contenere la parola "stato" e quando invece un nome di variabile dovrebbe contenere la parola "stato"? [chiuso]


18

Leggendo il codice e le discussioni relative al codice, vedo spesso le parole "stato" e "stato" usate in modo intercambiabile, ma sembrano esistere le seguenti tendenze:

  • Quando una variabile contiene un valore destinato a indicare che qualcosa si trova in un determinato stato, il nome di quella variabile più spesso contiene la parola "stato", o una sua abbreviazione.

  • Tuttavia, quando il valore di ritorno di una funzione serve per indicare un tale stato, tendiamo a chiamare quel valore un "codice di stato"; e quando quel valore è memorizzato in una variabile, questa variabile viene comunemente denominata "status" o qualcosa di simile.

Nell'isolamento va tutto bene, immagino, ma quando le suddette variabili sono in realtà la stessa cosa, è necessario fare una scelta che coinvolge le perverse complessità della lingua inglese (o della lingua umana in generale).

Qual è lo standard di codifica o la convenzione prevalente quando si tratta di chiarire le ambiguità tra i due? O uno di questi due dovrebbe essere sempre evitato?

Questa domanda di english.stackexchange è anche rilevante, suppongo.


2
Da qui questo tentativo di crowdsourcing. Questo è molto non è il posto per sondaggi di opinione, però.
Martijn Pieters,

Non su alcun sito Stack Exchange; un forum forse?
Martijn Pieters,

Sarebbe un po 'meglio, certamente. Anche il "Polling" nel titolo dovrebbe andare.
Martijn Pieters,


6
Lo stato di questa domanda sarà presto chiuso , ma rimarrà in uno stato attivo per qualche tempo dopo.
Reactgular

Risposte:


17

Mi piace questa domanda. Quello che segue è dalla mia testa ma penso che si adatti abbastanza bene.

  • lo stato viene usato per descrivere un risultato di un'operazione (ad es. successo / fallimento).

  • stato viene utilizzato per descrivere una fase di un processo (ad esempio, in sospeso / inviato).


Mi piace anche questa definizione:

  • lo stato è uno stato (risultante) finale.

È abbastanza chiaro quando applicato alla programmazione. Molto meno chiaro quando lo si applica al linguaggio naturale. Prendiamo gli esempi dal thread inglese e vediamo se ha la risposta più votata.

"Qual è lo stato attuale di questo progetto?" La risposta dovrebbe essere "In testing".

Bene, questo potrebbe sembrare contraddire le mie definizioni a prima vista ma dobbiamo capire il contesto. Probabilmente un supervisore sta chiedendo al suo team il progetto e quanto lontano hanno raggiunto . Il punto è che il supervisore è interessato al risultato fino ad ora. Il fatto che ci sarà qualcosa dopo viene semplicemente messo da parte perché non è il punto della domanda.

"Qual è lo stato attuale di questo progetto?" La risposta dovrebbe essere "In attesa di analisi finanziaria".

Quindi penso che ciò dimostri molto bene l'essenza di uno stato. "In attesa di analisi finanziaria." si concentra chiaramente sul fatto che la situazione attuale fa parte di un processo globale e suggerisce persino il prossimo stato.

Direi che tiene abbastanza bene.


Queste sono le definizioni più utili per la programmazione secondo me. Uso "status" quando sono sostanzialmente disposto a descrivere se l'operazione ha avuto successo o meno, e "state" per descrizioni più descrittive e dettagliate.
cprcrack,

3

Da quello che ho visto "stato" è spesso usato per cose che possono cambiare e il programmatore ha almeno un minimo di controllo su come / quando cambia (anche se indirettamente). Inoltre, viene quasi sempre usato per riferirsi a stati positivi. "Hai messo la connessione in uno stato disconnesso."

"Status" tende ad essere il contrario. Tende ad essere usato per cose che accadono senza l'input del programmatore - e spesso che il programmatore non può cambiare. Tende anche ad essere utilizzato per gli stati negativi. "Lo stato della tua connessione è (verifica ...) disconnesso."


1

"Stato" mi fa pensare a "macchina a stati", e in genere lo uso per fare riferimento a qualcosa di interno / tecnico, come "aperto", "intestazione di analisi", "formati di negoziazione", "lettura di testo", "lettura di video" , ecc. Qualcosa a cui potrebbe interessare un altro programmatore, ma non destinato (molto) all'utente finale. Forse se chiedono maggiori dettagli su un errore, ma non la prima cosa che vedono.

"Status" è meno tecnico e più per un utente finale, ad esempio "lettura", "errore 404", "successo 200".

Tutto IMHO.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.