Lendo código e discussões relacionadas a código, muitas vezes vejo as palavras "estado" e "status" usadas de forma intercambiável, mas as seguintes tendências parecem existir:
Quando uma variável possui um valor destinado a indicar que algo está em um determinado estado, o nome dessa variável geralmente contém a palavra "estado" ou uma abreviação da mesma.
No entanto, quando o valor de retorno de uma função serve para indicar algum estado, tendemos a chamá-lo de "código de status"; e quando esse valor é armazenado em uma variável, essa variável geralmente é chamada de "status" ou algo semelhante.
Isoladamente, tudo bem, eu acho, mas quando as variáveis acima mencionadas são na verdade uma e a mesma, é preciso fazer uma escolha envolvendo os meandros pervertidos da língua inglesa (ou da língua humana em geral).
Qual é o padrão ou convenção de codificação predominante quando se trata de desambiguar entre os dois? Ou um desses dois sempre deve ser evitado?
Esta questão english.stackexchange também é relevante, suponho.
Respostas:
Eu gosto dessa pergunta. O seguinte é da minha cabeça, mas acho que se encaixa muito bem.
status é usado para descrever o resultado de uma operação (por exemplo, êxito / falha).
O estado é usado para descrever uma etapa de um processo (por exemplo, pendente / despachada).
Eu também gosto desta definição:
É bastante claro quando aplicado à programação. Muito menos claro quando você o aplica à linguagem natural. Vamos pegar os exemplos do tópico em inglês e ver se ele contém a resposta mais votada.
"Qual é o status atual deste projeto?" A resposta deve ser "Em teste".
Bem, isso pode parecer contradizer minhas definições à primeira vista, mas precisamos entender o contexto. Provavelmente, algum supervisor está perguntando à sua equipe sobre o projeto e até onde eles chegaram . O ponto é que o supervisor está interessado no resultado até agora. O fato de que haverá algo depois é simplesmente descartado, porque não é o objetivo da questão.
"Qual é o estado atual deste projeto?" A resposta deve ser "Em espera para análise financeira".
Então eu acho que isso demonstra muito bem a essência de um estado. "Em espera para análise financeira." foca claramente o fato de que a situação atual é parte de algum processo abrangente e até sugere o próximo estado.
Eu diria que é muito bom.
fonte
Pelo que vi, "estado" é frequentemente usado para coisas que podem mudar e o programador tem pelo menos algum controle sobre como / quando ele muda (mesmo que indiretamente). Também quase sempre é usado para se referir a estados positivos. "Você colocou a conexão em um estado desconectado."
"Status" tende a ser o oposto. Ele tende a ser usado para coisas que acontecem sem a entrada do programador - e muitas vezes que o programador não pode mudar. Também tende a ser usado para status negativos. "O status da sua conexão está (verificando ...) desconectado."
fonte
"Estado" me faz pensar em "máquina de estado", e normalmente a uso para me referir a algo interno / técnico, como "aberto", "cabeçalho de análise", "formatos de negociação", "leitura de texto", "leitura de vídeo" , etc. Algo que um colega programador pode se interessar, mas não destinado (muito) ao usuário final. Talvez se eles pedirem mais detalhes sobre um erro, mas não a primeira coisa que virem.
"Status" é menos técnico e mais para um usuário final, por exemplo, "leitura", "erro 404", "sucesso 200".
Todos IMHO.
fonte