Соглашение об именах для штата / региона / провинции

Я создаю класс, представляющий штат США или канадскую провинцию. Как должен называться класс?

Некоторые идеи:

  • Регион. Проблема в том, что в .Net есть класс RegionInfo, в котором термин «Регион» используется для представления страны (а не штата или провинции).
  • Состояние. Проблема в том, что это может привести к путанице с состоянием приложения, состоянием сеанса и т. д.
  • Провинция. Могло бы сработать, но очень ориентировано на Канаду. Просто не чувствует себя хорошо.

EDIT: GeographicRegion кажется подходящим вариантом. Его можно было бы даже использовать в качестве базового класса для других типов географических регионов (например, страны) и по-прежнему иметь смысл.


person Alex Czarto    schedule 16.02.2009    source источник


Ответы (7)


Географический регион был бы моим выбором. Он довольно короткий и совершенно недвусмысленный и не имеет никакого отношения к реальным типам территорий, таким как провинция или штат.

person Jack Ryan    schedule 16.02.2009
comment
GeographicRegion может быть коротким, но я не уверен, что это абсолютно однозначно. Если бы вы увидели класс под названием GeographicRegion, поняли бы вы, что он представляет, не глядя на код? - person Alex Reitbort; 16.02.2009
comment
Могу я спросить, за что вы могли бы принять это? Я думаю, что это прекрасно описывает то, что он представляет. И, как было отредактировано в вопросе, и как я сделал в своем собственном коде, его легко повторно использовать для представления любого типа национального или международного разделения. Что не любить? - person Jack Ryan; 16.02.2009
comment
В своей работе я делаю много вещей, связанных с геокодированием. Так что все, что говорит о географическом положении, кричит мне x, y или широту, долготу. Для меня GeographicRegion может быть классом, представляющим географический регион в виде последовательности точек. - person Alex Reitbort; 17.02.2009

Определенно не используйте «Штат» — это слишком запутанно, а «Территория» тоже имеет значение .ca. Википедия предлагает «Subnational» или «SubnationalDivision».

person annakata    schedule 16.02.2009
comment
У вас есть ссылка на статью? - person Panzercrisis; 04.08.2017
comment
слишком поздно, но вот, @Panzercrisis en.wikipedia.org/wiki/Administrative_division - person cezarlamann; 13.08.2019

Более общее название штата, применимое в любой точке мира, — CountrySubdivision или просто Subdivision.

person baretta    schedule 16.02.2009

Google использует термин administrative_area_level_1 в своем геокодере.

administrative_area_level_1 указывает на гражданское образование первого порядка ниже уровня страны. В Соединенных Штатах такими административными уровнями являются штаты. Не все страны имеют эти административные уровни. administrative_area_level_2 указывает на гражданское образование второго порядка ниже уровня страны. В Соединенных Штатах такими административными уровнями являются округа. Не все страны имеют эти административные уровни. administrative_area_level_3 указывает на гражданское образование третьего порядка ниже уровня страны. Этот тип указывает на второстепенную административную единицу. Не все страны имеют эти административные уровни.

Ссылка: http://code.google.com/apis/maps/documentation/geocoding/#Types

person Brad    schedule 10.09.2010

Я не вижу проблем с State; в контексте, в котором вы его используете, я не ожидаю путаницы с состоянием приложения. Везде, где вы его используете, вы также будете ссылаться на Country, StreetName и PostCode, верно? Точно так же, если вы решите назвать его Region.

Однако мне не нравится Region, потому что это довольно расплывчато. Все виды вещей являются регионами. Если бы кто-нибудь спросил меня, в каком регионе я живу, я бы ответил, что на Среднем Западе. Или Западное полушарие. Или округ Рэмси. Все зависит от контекста.

Вы и те, кто работает над вашим проектом, уже должны знать контекст, поэтому используйте слово, которое имеет смысл. Не беспокойтесь о том, имеет ли слово значение в других контекстах; вы не работаете с теми.

person Rob Kennedy    schedule 16.02.2009

После некоторого размышления я понял, что в моем случае требовалось указать регион для поиска, поэтому я выбрал IAreaLocator. Идея состоит в том, что реализованные локаторы областей позволят определять неограниченные области. Это могут быть геозоны, штаты, провинции, страны и т. д.

person N-ate    schedule 05.04.2019

Штат или провинция

person Alex Reitbort    schedule 16.02.2009
comment
илитерриторияилиграфствоиликантонилиобластьилирайон - person annakata; 16.02.2009
comment
Я создаю класс, представляющий штат США или канадскую провинцию. Перечитайте вопрос. - person Alex Reitbort; 16.02.2009
comment
Как будто я этого не делал. Так ты собираешься бросить Нунавут, СЗТ, Юкон и будущее расширение с самого начала? Дизайн для сейчас — это вообще не дизайн. - person annakata; 16.02.2009
comment
Затем я переименую класс. Я не вижу смысла проектировать для всего мира при разработке приложения, которое будет использоваться в одной конкретной стране. Вспомни ЯГНИ. - person Alex Reitbort; 16.02.2009
comment
C'est la vie - я бы предпочел использовать более общий термин, который не требует рефакторинга позже. Мы должны согласиться отличаться. - person annakata; 16.02.2009
comment
Я согласен, Мексика = штат, Канада = провинция, США = штат, Чили = регион. StateOrProvince имеет то преимущество, что показывает, что это не зависит от страны, без двусмысленности принятого ответа: GeographicRegion. Я действительно не против поместить регионы Чили в свойство с именем StateOrProvince, потому что назначение этого свойства понятно любому англоговорящему человеку. В то время как если я захожу в проект и нахожу GeographicRegion... я понятия не имею, что это за чертовщина, пока не прочитаю код и не увижу, что он связан с состояниями. - person Kevin Nelson; 16.07.2015