Czytając kod i dyskusje dotyczące kodu, często widzę słowa „stan” i „status” używane zamiennie, ale wydaje się, że istnieją następujące tendencje:
Gdy zmienna zawiera wartość mającą wskazywać, że coś jest w określonym stanie, nazwa tej zmiennej najczęściej zawiera słowo „stan” lub jego skrót.
Jednak gdy zwracana wartość funkcji służy do wskazania takiego stanu, zwykle nazywamy tę wartość „kodem statusu”; a gdy ta wartość jest przechowywana w zmiennej, ta zmienna jest zwykle nazywana „statusem” lub czymś podobnym.
W sumie wydaje mi się, że wszystko w porządku, ale kiedy wspomniane zmienne są w rzeczywistości jednym i tym samym, należy dokonać wyboru obejmującego wypaczone zawiłości języka angielskiego (lub ogólnie języka ludzkiego).
Jaka jest dominująca norma kodowania lub konwencja, jeśli chodzi o jednoznaczność między nimi? A może zawsze należy unikać jednego z tych dwóch?
Przypuszczam, że to pytanie w sprawie wymiany angielski .
Odpowiedzi:
Podoba mi się to pytanie. Z mojej głowy wynika, ale myślę, że pasuje całkiem dobrze.
Status służy do opisania wyniku operacji (np. sukces / porażka).
Stan służy do opisu etapu w procesie (np. w toku / wysłania).
Podoba mi się również ta definicja:
Jest to całkiem jasne, gdy dotyczy programowania. O wiele mniej jasne, gdy zastosujesz go do języka naturalnego. Weźmy przykłady z angielskiego wątku i zobaczmy, czy zawiera najbardziej pozytywną odpowiedź.
„Jaki jest obecny status tego projektu?” Odpowiedź powinna brzmieć „W trakcie testowania”.
Na pierwszy rzut oka może się to wydawać sprzeczne z moimi definicjami, ale musimy zrozumieć kontekst. Prawdopodobnie jakiś przełożony pyta swój zespół o projekt i to, jak daleko się posunęli . Chodzi o to, że przełożony jest zainteresowany wynikiem do tej pory. Fakt, że coś będzie później, jest po prostu odkładany, ponieważ nie o to chodzi w pytaniu.
„Jaki jest obecny stan tego projektu?” Odpowiedź powinna brzmieć „Wstrzymaj analizę finansową”.
Myślę więc, że to bardzo ładnie pokazuje istotę państwa. „Wstrzymano analizę finansową”. wyraźnie koncentruje się na fakcie, że obecna sytuacja jest częścią pewnego obejmującego procesu, a nawet sugeruje następny stan.
Powiedziałbym, że trzyma się całkiem dobrze.
źródło
Z tego, co widziałem, „stan” jest często używany do rzeczy, które mogą się zmienić, a programista ma przynajmniej trochę kontroli nad tym, jak / kiedy się zmienia (nawet jeśli pośrednio). Niemal zawsze jest również używany w odniesieniu do stanów dodatnich. „Umieściłeś połączenie w stanie rozłączonym”.
„Status” jest odwrotnie. Zwykle jest używany do rzeczy, które dzieją się bez udziału programisty - i często programista nie może tego zmienić. Jest również zwykle używany do statusów ujemnych. „Status twojego połączenia jest (sprawdzanie ...) rozłączony”.
źródło
„Stan” kojarzy mi się z „maszyną stanu” i zwykle używam go w odniesieniu do czegoś wewnętrznego / technicznego, takiego jak „otwarty”, „parsowanie nagłówka”, „formaty negocjacyjne”, „czytanie tekstu”, „czytanie wideo” itp. Coś, na czym mógłby się martwić inny programista, ale nie jest ono przeznaczone (wiele) dla użytkownika końcowego. Może jeśli poprosą o więcej szczegółów na temat błędu, ale nie pierwszą rzeczą, którą zobaczą.
„Status” jest mniej zaawansowany technicznie, a bardziej dla użytkownika końcowego, np. „Czytanie”, „błąd 404”, „sukces 200”.
Wszystkie IMHO.
źródło