Быстрый вопрос: я хотел бы услышать ваши мысли о том, когда использовать «State» против «Status» при именовании обоих полей, таких как «Foo.currentState» и «Foo.status», и типов, таких как «enum FooState» против «enum» FooStatus». Обсуждается ли там конвенция? Должны ли мы использовать только один? Если да, то какой, а если нет, то как мы должны выбрать?
naming-conventions
nomenclature
Sophistifunk
источник
источник
Ответы:
Это зависит от контекста
Состояние обычно относится ко всему состоянию объекта - всем его значениям и отношениям в определенный момент времени (обычно текущий)
Состояние - это скорее момент времени, скажем, где что-то находится в процессе или рабочем процессе - является ли оно грязным (поэтому требует сохранения), завершено ли это, ожидает ли ввода и т. Д.
Я надеюсь, что это поможет вам в вашем решении.
источник
IMO:
статус == как дела? [хорошо плохо]
состояние == что ты делаешь? [Отдых / работа]
источник
State
должен отражать «указанный узел» в графе узлов состояний конечного автомата (или рабочего процесса), где описание может легко быть словесным прилагательным (часто оканчивающимся на « -ing "), тогдаStatus
как это простое свойство объекта, простое прилагательное, которое может использоваться триггером или как наблюдаемое значение для решения об изменении (или сохранении) состояния. Я, наверное, обдумываю это. Я делаю это ..Обычно я буду использовать State для обозначения текущего состояния объекта или системы в целом. Я использую статус, чтобы представить результат какого-либо действия. Например, состояние объекта может быть сохранено / несохранено, допустимо / недействительно. Статус (результат) метода успешен / неуспешен / ошибка. Я думаю, что это очень хорошо согласуется с определением статуса как « состояние или состояние по отношению к обстоятельствам », при этом обстоятельства в данном случае являются применением действия / метода.
источник
Другая (вполне прагматичная) причина, по которой государство предпочитает статусу, заключается в том, что множественное число является простым:
И поверьте мне, у вас рано или поздно появится список, массив или другие состояния в вашем коде, и вам придется назвать переменную.
источник
Я думаю, что многие люди используют «Статус» для представления состояния объекта, если по какой-либо другой причине, кроме «Государство», относится к политическому разделению Соединенных Штатов.
источник
Я думаю, что вы могли бы добавить еще одну перспективу к уравнению, а именно «отправитель-запросчик».
С точки зрения отправителей, я бы сообщал о своем состоянии всем, кто хочет слушать. Хотя с точки зрения запрашивающих, я бы спрашивал чей-то статус.
Вышесказанное также можно интерпретировать с точки зрения неопределенности:
Какой у тебя статус? Я в расслабленном состоянии.
Я уверен, что это только одна интерпретация, которая может не относиться к вашей конкретной ситуации.
источник
Быстрая проверка по словарю показывает, что статус является синонимом состояния, но имеет дополнительную интерпретацию позиции относительно позиции других .
Поэтому я бы использовал состояние для набора состояний, которые не имеют какого-либо неявного упорядочения или положения относительно друг друга, и состояние для тех, которые имеют (возможно, в режиме ожидания?). Но это отличительная черта.
источник
Многие организации, с которыми я имею дело (учетные записи, клиенты), могут иметь состояние (TX, VA и т. Д.) И статус (активный, закрытый и т. Д.)
Таким образом, пункт о том, что термин вводит в заблуждение, возможен. У нас есть стандартизированное соглашение о присвоении имен базам данных (не мой личный выбор), в котором состояние называется
ST_CD
и статус будетACCT_STAT_CD
.С перечислением в OO milieux эта проблема не так важна, так как, если у вас строгая безопасность типов, компилятор гарантирует, что никто не попытается сделать это:
Если вы находитесь в динамичной среде, я бы больше волновался!
Если вы имеете дело с доменом, где преобладают конечные автоматы или другая информация о состоянии, и эта терминология преобладает, то я думаю, что State в порядке.
источник
У нас были точные дебаты о моем текущем проекте некоторое время назад. У меня действительно нет предпочтений, но последовательность является важным фактором.
Первое (есть несколько) определение «состояния» в моем Sharp PW-E550 (я бы добавил потрясающий словарь) - это «особое состояние, в котором кто-то или что-то находится в определенное время». Первое определение «статуса» - это «относительное социальное, профессиональное или иное положение кого-либо или чего-либо». Даже второе (и последнее) определение «статуса» уступает «государству» в этом контексте: «положение дел в определенное время, особенно в политическом или коммерческом контексте».
Поэтому, если бы мы хотели, чтобы кто-то использовал мой словарь как можно проще (он использует New Oxford American Dictionary, 2001), «state» был бы лучшим выбором.
Кроме того, в книге «Банды четырех» описан паттерн проектирования, называемый паттерном состояния, который четко определяет термин в вычислительной лексике.
По этим причинам я предлагаю «государство».
PS Это ты ДДМ? Вы все еще горьки о "состоянии" против "статуса"? !!!!!!! LMAO!
источник
Ну, они означают одно и то же. Я не думаю, что необходимо провозглашать большое предпочтение одного перед другим, но я бы обычно использовал «статус», потому что мне нравятся вещи, которые звучат латинскими и классицистическими. Я имею в виду, что в моем мире множественное число схем - это схемы, поэтому у меня почти нет другого пути.
источник
Sophistifunk, я уверен, что вы получите аргументы как для государства, так и для статуса. Самое главное, чтобы вы выбрали один, и использовать только один. Я бы посоветовал обсудить это с вашей командой и посмотреть, с чем все согласны.
Тем не менее, мое предложение заключается в следующем.
Предполагая, что вы используете объектно-ориентированный язык программирования, «состояние» объекта представляется самим объектом. SomeObject.state вводит в заблуждение IMO. Я не уверен, что означает «статус» в вашем примере, но моя естественная интуиция состоит в том, чтобы предпочесть это утверждению.
источник
Совсем не одно и то же. Остановлены и запущены состояния. Остановка и запуск - это статус.
Если вы сделаете их одинаковыми, как вы опишите транспортное средство как остановленное, но в данный момент запускающее. Или заявка, поданная в настоящее время, но еще не вступившая в процесс утверждения или утверждаемая, но в настоящее время приостановленная с условием ошибки ожидания подписи?
источник
Starting
это действительноState
совершенно отличается отStopped
. Это зависит от семантики вашей системы . Проверьте, например, Windows Services.