Быстрый вопрос: я хотел бы услышать ваши мысли о том, когда использовать "Государство" в сравнении с "Статусом" при названии обоих полей, таких как "Foo.currentState" и "Foo.status" и типов, таких как "enum FooState", vs "enum FooStatus". Существует ли там конвенция? Следует ли использовать только один? Если да, то какой, а если нет, как мы должны выбирать?
Соглашения об именах: "Состояние" и "Статус"
Ответ 1
Это зависит от контекста
Состояние обычно относится ко всему состоянию объекта - все его значения и отношения в определенный момент времени (обычно, текущий)
Статус больше времени, скажем, где-то в процессе или рабочем процессе - он грязный (поэтому требует сохранения), он завершен, находится в ожидании ввода и т.д.
Я надеюсь, что это поможет вам в решении.
Ответ 2
ММО:
статус == как дела? [Хороший/плохой]
Состояние: что вы делаете? [Отдыха/работы]
Ответ 3
Обычно я использую State для обозначения текущего состояния объекта или системы в целом. Я использую статус для представления результатов некоторых действий. Например, состояние объекта может быть сохранено/несохранено, допустимо/недействительно. Состояние (результат) метода успешное/неудачное/ошибка. Я думаю, что это довольно хорошо сочетается с определением статуса как "состояние или состояние" состояние или состояние в отношении обстоятельств "," обстоятельства в этом случае являются применением действие/метод.
Ответ 4
Другая (полностью прагматичная) причина предпочитать состояние над статусом заключается в том, что множественное число является простым:
- состояние → состояния
- статус → статусы
И поверьте мне, рано или поздно вы получите список или массив или что-то еще из состояний вашего кода и должны будете называть эту переменную.
Ответ 5
Я думаю, что многие люди используют "статус" для представления состояния объекта, если только по той причине, что "государство" относится к политическому разделению Соединенных Штатов.
Ответ 6
Многие сущности, с которыми я имею дело (учетные записи, клиенты), могут иметь состояние (TX, VA и т.д.) и статус (активный, закрытый и т.д.).
Таким образом, пункт о том, что этот термин вводит в заблуждение, возможен. У нас есть стандартизованное соглашение об именах баз данных (а не мой личный выбор), где состояние называется ST_CD
, а статус будет ACCT_STAT_CD
.
С перечислением в среде OO эта проблема не так важна, поскольку, если у вас есть строгая безопасность типов, компилятор гарантирует, что никто не попытается это сделать:
theCustomer.State = Customer.Status.Active;
Если вы находитесь в динамичной среде, я буду больше беспокоиться!
Если вы имеете дело с доменом, где государственные машины или другая государственная информация и эта терминология являются преобладающими, тогда я бы подумал, что состояние прекрасное.
Ответ 7
Я думаю, вы могли бы добавить еще одну перспективу в уравнение, а именно 'sender-requester'.
С точки зрения отправителей, я бы передал свое состояние всем желающим слушать. Хотя с точки зрения сторонников, я бы попросил кого-то статус.
Вышеизложенное также можно интерпретировать с точки зрения неопределенности: - Определено = состояние - Undefined= статус Какой у вас статус? Я в расслабленном состоянии.
Я уверен, что это всего лишь одна интерпретация, которая может не распространяться на вашу конкретную ситуацию.
Ответ 8
Быстрая проверка словаря показывает, что статус является синонимом состояния, но имеет дополнительную интерпретацию положения относительно других.
Поэтому я бы использовал состояние для набора состояний, которые не имеют никакого неявного упорядочения или позиции относительно друг друга, и статус для тех, кто это делает (возможно выключен?). Но это прекрасное различие.
Ответ 9
Ну, они имеют в виду то же самое. Я не думаю, что необходимо обнародовать большое предпочтение одного над другим, но я бы вообще пошел с "статусом", потому что мне нравятся вещи, которые звучат латинатом и классиками. Я имею в виду, что в моем мире множественное число схемы является схемой, поэтому у меня нет другого пути для этого.
Ответ 10
У нас были эти точные дебаты по моему текущему проекту некоторое время назад. У меня действительно нет предпочтения, но согласованность является важным соображением.
Первое (есть несколько) определение "state" в моем Sharp PW-E550 (удивительный словарь, я могу добавить) - это "особое условие, что кто-то или что-то есть в определенное время". Первое определение "статус" - это "относительное социальное, профессиональное или иное положение кого-то или чего-то". Даже второе (и последнее) определение "статуса" в этом контексте уступает "состоянию": "положение дел в определенное время, особенно в политическом или коммерческом контексте".
Итак, если бы мы хотели, чтобы это было как можно проще для кого-то, использующего мой словарь (он использует New Oxford American Dictionary, 2001), "государство" было бы лучшим выбором.
Кроме того, существует шаблон проектирования, описанный в книге "Банда четырех" под названием "Шаблон состояния", прочно устанавливающий термин в вычислительной лексике.
По этим причинам я предлагаю "состояние".
P.S. Это вы DDM? Вы все еще горьки о "состоянии" и "статусе"?!!!!!!! LMAO!
Ответ 11
Sophistifunk, я уверен, что вы получите аргументы как для состояния, так и для состояния. Самое главное, что вы выбираете один и используете только один. Я бы предложил обсудить это с вашей командой и посмотреть, что все согласны.
Тем не менее, мое предложение таково.
Предполагая, что вы используете объектно-ориентированный язык программирования, объект "состояние" представляется самим объектом. SomeObject.state вводит в заблуждение imo. Я не уверен, что означает "статус" в вашем примере, но моя естественная интуиция должна предпочесть это.
Ответ 12
Не то же самое. Остановлены и запущены состояния. Остановка и запуск - это статус.
Если вы сделаете им то же самое, как вы описываете транспортное средство как остановленное, но в настоящее время начинаете. Или приложение, которое в настоящее время подано, но еще не вступило в процесс утверждения или одобрено, но в настоящее время приостановлено с условием ошибки ожидания подписи?