Класс называется Класс?


18

Это скорее вопрос стиля, но я сейчас обдумываю этот проект.

Предположим, вы создаете приложение, моделирующее школу. Таким образом, есть такие объекты, как ученик, школа и т. Д. Теперь все в порядке и интуитивно понятно, пока вы не перейдете в класс, поскольку (в большинстве языков) Classэто зарезервированное слово. Итак, учитывая, что Classэто зарезервированное ключевое слово, что бы вы назвали такой сущностью, которая моделирует школьный класс?


19
Школьный класс????
Мэтью Флинн

5
Вы можете попробовать синоним thesaurus.com/browse/class
Gyan aka Gary Buyn

@MatthewFlynn, это действительно приходило мне в голову. На самом деле, это был мой первый хотя ...
Джейсон Уайтхорн

1
Я снова открыл вопрос. Ответы, которые повторяют другие ответы или являются изящными однострочниками, будут удалены, то же самое для комментариев вне темы.
Яннис

1
Это совершенно законный вопрос: «Что вы делаете, когда ваш термин, относящийся к домену, конфликтует с термином на выбранном вами языке программирования». Это было просто сформулировано в терминах конкретного примера, и это нормально.
Стив Беннетт

Ответы:


37

Я бы выбрал другой термин, потому что слово «класс» может быть неоднозначным.

Класс относится к:

  1. Группа студентов, проходящих курс?
  2. Весь курс за этот семестр?
  3. Абстрактный курс преподают в нескольких семестрах?
  4. Группа студентов должна выпускаться в определенное время?
  5. Некоторые другие классификации студентов, например, продвинутый класс, класс особых потребностей.
  6. Конкретная лекция

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


Ах да ... очень хорошие моменты. Это тип обсуждения, который я искал. На самом деле я имел в виду «Группа студентов, проходящих определенный курс, который ведет конкретный учитель в определенное время в течение одного школьного семестра (год, семестр и т. Д.)» ... если это имеет смысл. Или, другими словами: «Я беру Биологию II с мистером Смитом в 2 часа дня по понедельникам, средам, пятницам».
Джейсон Уайтхорн

Тем не менее, общая проблема столкновения установленных терминов домена с ключевыми словами языка ...
tdammers

В некоторых учреждениях это называется поток. (У которого есть свои проблемы с именами :))
Steve Bennett

21

Вы можете назвать его «Курсом», «Предметом» или «Лекцией», если это определенный класс. Вы также можете использовать «Раздел» и т. Д.

Уинстон Эверт действительно выделил вопросы, которые вам придется задать себе.


+1 за раздел. Похоже, именно это имел в виду @JasonWhitehorn, основываясь на своем ответе на ответ Уинстона Эверта
sq33G

2

Хорошая идея - найти синоним, например, «Курс».

Однако необходимость повторного использования слова class является обычной (часто для локальной переменной типа Class ), и обычные замены для класса включают в себя klass , clazz и cls .


«klass» означает, что вы немец (или голландец), «clazz» больше похож на «jazz» и «cls», о, разве это не использовалось для «CLearScreen»?
ypercubeᵀᴹ

1

Это зависит, в некоторых языках classзарезервированное слово, а не Class.


4
Однако я сказал: «... учитывая, что Class является зарезервированным ключевым словом ...», плюс, разве вы не сказали бы, что два элемента, отличающиеся только регистром, - ужасная идея?
Джейсон Уайтхорн

Это не значит, что вы должны его использовать. Больше, чем вы должны использовать If, Elseили Gotoна языке, где строчные версии зарезервированы.
Дауд говорит восстановить Монику

5
Это не ответ.
Джордан

1
Ява уже есть class Class.
dan04

3
@JasonWhitehorn: два элемента, отличающиеся только регистром, вовсе не обязательно являются плохой идеей - если все ваши классы имеют имена в верхнем регистре, а все ключевые слова в вашем языке - в нижнем регистре, это совершенно однозначно, что Classопределяется пользователем class.
оставил около

1

Я согласен с @Winston Ewert, что выбрал бы другой термин, потому что слово Class может быть неоднозначным.

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

Посмотрите пример архитектуры классов, которая в некоторой степени соответствует вашей системе. Ref: Студенческий класс и курс

Поскольку ваш вопрос помечен именами , используйте существительное или именную фразу, чтобы назвать класс из синонима, который вы используете.


0

В некоторых языках программирования вы можете использовать зарезервированные слова в именах переменных (возможно, даже имена классов?). Например, в C # вы можете сделать это, хотя classэто зарезервированное слово:

string @class = "Super class";

Вы можете проверить свои спецификации языка программирования, позволяет ли это сделать это.

Если нет, то просто ответь на вопрос Уинстона Эверта.


0

Помимо синтаксиса языка программирования, слово класс не является хорошим именем с точки зрения моделирования данных в случае школьной информационной системы. Когда вы думаете о том, что означает класс, вы обнаруживаете, что (среди прочего):

Класс является регулярной деятельностью , которая имеет начало и конец , и контролируется (учили) школьный педагогом. В рамках этой деятельности предмет преподается или выполняется занятие (например, спорт), поэтому предмет предлагается в виде нуля, одного или нескольких классов .

Таким образом, слово « класс» на самом деле является «запланированной образовательной деятельностью». Итак, у вас есть выбор:

  • ScheduledEducationalActivity

  • ScheduledActivity (в этом случае вы можете быть более универсальным и позволить мероприятию быть образовательным или событием, таким как лекция, семинар или турнир и т. Д.)

  • SubjectOffering

Таким образом, класс имени действительно является соглашением или (бизнес-именем), но не лучшим именем, которое описывает сущность.


-2

Вы можете объявить сущность как ClassRoom!


2
Это было бы плохим именем, если только сущность не представляет физическую комнату, где должен находиться класс.
Джеспер
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.