Клас з назвою Клас?


18

Це більше питання стилю, але це те, про що я зараз розмірковую над своїм проектом.

Припустимо, що ви створюєте додаток, який моделює школу. Отже, існують такі об'єкти, як "Студент", "Школа" і т. Д. Зараз це все добре і інтуїтивно, поки ви не переходите до класу, оскільки (на більшості мов) Classце зарезервоване слово. Отже, враховуючи, що Classце зарезервоване ключове слово, як би ви назвали таку сутність, яка моделює шкільний клас?


19
SchoolClass ????
Меттью Флінн

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

@MatthewFlynn, це дійсно перехрестило мою думку. Насправді це було моє перше, хоча ...
Джейсон Уайтхорн

1
Я знову відкрив це питання. Відповіді, які повторюють інші відповіді або є химерними однолінійками, буде видалено, як і для коментарів поза темою.
янніс

1
Це цілком законне запитання: "Що ви робите, коли ваш доменний термін стикається з терміном на обраній вами мові програмування". Це було просто викладено в конкретному прикладі, що добре.
Стів Беннетт

Відповіді:


37

Я вибрав би інший термін, оскільки слово Class може бути неоднозначним.

Чи відноситься до класу:

  1. Група студентів, що приймають курс?
  2. Цілий курс за цей семестр?
  3. Абстрактний курс викладається протягом декількох семестрів?
  4. Група студентів, яку очікували закінчити у визначений час?
  5. Деякі інші класифікації студентів, наприклад, розширений клас, клас особливих потреб.
  6. Конкретна лекція

І це навіть не виходячи з академічної сфери. Швидше за все, ви зможете знайти краще слово, яке підходитиме до того, що ви намагаєтеся моделювати. Клас призведе лише до певної плутанини.


Ага, так ... дуже хороші бали. Це тип дискусії, яку я шукав. Насправді я мав на увазі "Групу студентів, яка приймає певний курс, який викладає конкретний вчитель в конкретний час протягом одного шкільного терміну (рік, семестр тощо)" ... якщо це має сенс. Або, іншими словами, "я беру біологію II з містером Смітом @ 14:00 понеділками, середами, п’ятницями".
Джейсон Уайтхорн

Загальна проблема встановлених термінів домену, що стикаються з мовними ключовими словами, все ж залишається ...
tdammers

У деяких установах це називається Потік. (У якого є власні проблеми зіткнення імен :))
Стів Беннетт

21

Ви можете назвати його "Курсом" або "Темою" або "Лекцією", якщо це конкретний клас. Ви також можете використовувати "Розділ" тощо.

Вінстон Еверт дійсно виділив питання, які вам доведеться задати собі.


+1 для розділу. Це, мабуть, на думку @JasonWhitehorn, грунтуючись на його відповіді на відповідь Вінстона Еверта
sq33G

2

Пошук синоніму є хорошою ідеєю, наприклад, "Курс".

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


"klass" означає, що ви німецька (або голландська), "clazz" більше схожа на "джаз" та "cls", о, чи не це було використано для "CLearScreen"?
ypercubeᵀᴹ

1

Це залежить, у деяких мовах classє зарезервоване слово, а не Class.


4
Я, однак, сказав "... враховуючи, що клас - це зарезервоване ключове слово ...", плюс, чи не скажеш ти, що два пункти, що відрізняються лише від випадку, - це жахлива ідея?
Джейсон Уайтхорн

Це не означає, що ви повинні його використовувати. Більше, ніж вам слід використовувати If, Elseабо Gotoмовою, де зарезервовані малі версії цих версій.
Давуд каже, що поверніть Моніку

5
Це не відповідь.
Йордан

1
У Java вже є class Class.
dan04

3
@JasonWhitehorn: два пункти, що відрізняються лише окремими випадками, зовсім не обов'язково є поганою ідеєю - якщо всі ваші класи мають великі імена, а всі ключові слова у вашій мові є малими літерами, це абсолютно однозначно, що Classце визначено на замовлення class.
близько

1

Я згоден з @Winston Ewert, що я обрав би інший термін, оскільки слово Class може бути неоднозначним.

У цьому випадку ви повинні використовувати кращий синонім, який відповідає вашій реалізації. Якщо я моделю подібний тип архітектури, то я перейду до курсу , але є й інший синонім, який також доступний.

Перевірте приклад архітектури класів, який дещо відповідає вашій системі. Довідка: Студентський клас та Курсовий клас

Оскільки ваше запитання позначено іменем , використовуйте іменницьку чи іменникову фразу, щоб назвати клас із синоніма, який ви використовуєте.


0

У деяких мовах програмування ви можете використовувати зарезервовані слова в назвах змінних (можливо, навіть імена класів?). Наприклад, у C # ви можете зробити так, навіть якщо classце зарезервоване слово:

string @class = "Super class";

Ви можете перевірити специфікації мови програмування, чи дозволяє вам це зробити.

Якщо ні, то просто перейдіть з відповіддю Вінстона Еверта.


0

Окрім синтаксису мови програмування, клас класів не є гарним іменем з точки зору моделювання даних у випадку шкільної інформаційної системи. Коли ви замислюєтеся про те, що означає клас, ви виявляєте це (серед іншого):

Клас є регулярною діяльністю , яка має початок і кінець , і контролюється (вчили) шкільний педагогом. У рамках цієї діяльності викладається предмет або виконується діяльність (подібно спорту), тому предмет пропонується як нульовий, один або кілька класів .

Отже, клас слів - це справді "запланована навчальна діяльність". Отже, у вас є вибір:

  • Запланована навчальна діяльність

  • ScheduledActivity (в такому випадку ви можете бути більш загальними і дозволяти діяльності бути навчальною чи подією на кшталт лекції чи семінару чи екскурсії, тощо).

  • Предметна пропозиція

Тож клас імен насправді є умовою або (назвою компанії), але не є найкращим ім'ям, яке описує сутність.


-2

Ви можете оголосити сутність як ClassRoom!


2
Це було б поганим іменем, якщо тільки суб’єкт не представляє фізичну кімнату, де повинен проводитися клас.
Jesper
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.