Una classe chiamata Class?


18

Questa è più una domanda di stile, ma è qualcosa su cui sto attualmente riflettendo per un mio progetto.

Supponiamo che tu stia creando un'applicazione che sta modellando una scuola. Quindi ci sono entità come Studente, Scuola, ecc. Ora va tutto bene e intuitivo fino a quando non vieni in classe, poiché (nella maggior parte delle lingue) Classè una parola riservata. Quindi, dato che Classè una parola chiave riservata, come definiresti un'entità del genere che modella una classe scolastica?


19
Lezione????
Matthew Flynn,

5
Potresti provare un sinonimo thesaurus.com/browse/class
Gyan aka Gary Buyn

@MatthewFlynn, mi è davvero passato per la testa. In effetti, è stato il mio primo ...
Jason Whitehorn,

1
Ho riaperto la domanda. Le risposte che ripetono le altre risposte o sono di una linea sgargiante verranno eliminate, lo stesso per i commenti fuori tema.
yannis,

1
È una domanda del tutto legittima: "Cosa fai quando il termine specifico del tuo dominio si scontra con un termine nel linguaggio di programmazione che hai scelto". È stato semplicemente espresso nei termini di un esempio specifico, il che va bene.
Steve Bennett,

Risposte:


37

Sceglierei un altro termine perché la parola Class può essere ambigua.

La classe fa riferimento a:

  1. Il gruppo di studenti che frequentano un corso?
  2. L'intero corso per questo semestre?
  3. Il corso astratto tenuto in più semestri?
  4. Il gruppo di studenti dovrebbe laurearsi in un momento specifico?
  5. Qualche altra classificazione di studenti, ad esempio classe avanzata, classe per esigenze speciali.
  6. Una lezione specifica

E questo senza nemmeno uscire dal regno accademico. È probabile che tu possa trovare una parola migliore per adattarsi a qualsiasi cosa tu stia cercando di modellare. La lezione porterà solo un po 'di confusione.


Ah, sì ... ottimi punti. Questo è il tipo di discussione che stavo cercando. Intendevo, infatti, "Un gruppo di studenti che frequentava un corso specifico tenuto da un insegnante specifico in un momento specifico per un singolo periodo scolastico (anno, semestre, ecc.)" ... se questo ha un senso. O, in altre parole, "Sto prendendo Biology II con Mr. Smith alle 14:00 lunedì, mercoledì, venerdì."
Jason Whitehorn,

Il problema generale dei termini di dominio stabiliti che si scontrano con le parole chiave della lingua rimane però ...
tdammers

In alcune istituzioni viene chiamato Stream. (Che ha i suoi problemi di scontro con il nome :))
Steve Bennett il

21

Potresti chiamarlo "Corso" o "Argomento" o "Conferenza" se si tratta di una lezione specifica. Puoi anche usare "Sezione", ecc.

Winston Ewert ha davvero messo in luce le domande che dovresti porti.


+1 per la sezione. Questo sembra essere quello che aveva in mente @JasonWhitehorn, in base alla sua risposta alla risposta di Winston Ewert
sq33G

2

Trovare un sinonimo è una buona idea, ad esempio "Corso".

Tuttavia, la necessità di riutilizzare la parola class è comune (spesso per una variabile locale di tipo Class ) e le sostituzioni convenzionali per class includono klass , clazz e cls .


"klass" significa che sei tedesco (o olandese), "clazz" è più simile a "jazz" e "cls", oh, non è stato usato per "CLearScreen"?
ypercubeᵀᴹ

1

Dipende, in alcune lingue classè la parola riservata, no Class.


4
Tuttavia, ho detto "... dato che Class è una parola chiave riservata ...", in più, non diresti che due elementi diversi solo dal caso sono un'idea orribile?
Jason Whitehorn,

Non significa che dovresti usarlo. Non più di quanto si dovrebbe usare If, Elseo Gotoin una lingua in cui sono riservate le versioni minuscole di questi.
Dawood dice di ripristinare Monica

5
Questa non è una risposta
Giordania

1
Java ha già un class Class.
dan04

3
@JasonWhitehorn: due elementi che differiscono solo per caso non è necessariamente una cattiva idea - se tutte le tue classi hanno nomi in maiuscolo mentre tutte le parole chiave nella tua lingua sono minuscole, è del tutto inequivocabile che Classè una definizione personalizzata class.
lasciato circa il

1

Sono d'accordo con @Winston Ewert che sceglierei un altro termine perché la parola Class può essere ambigua.

In questo caso devi usare un sinonimo migliore adatto alla tua implementazione. Se modello questo tipo di architettura, allora andrò per Corso , ma ci sono anche altri sinonimi disponibili.

Controlla un'architettura di classe di esempio che corrisponda in qualche modo al tuo sistema. Rif: Classe studentesca e classe del corso

Mentre la tua domanda è taggata con il nome , usa un sostantivo o una frase per nominare una classe dal sinonimo che usi.


0

In alcuni linguaggi di programmazione è possibile utilizzare parole riservate nei nomi delle variabili (forse anche i nomi delle classi?). Ad esempio in C # potresti fare così anche se classè una parola riservata:

string @class = "Super class";

Puoi controllare le specifiche del tuo linguaggio di programmazione se ti consente di farlo.

In caso contrario, basta andare con la risposta di Winston Ewerth.


0

A parte la sintassi del linguaggio di programmazione, la classe di parole non è un buon nome dal punto di vista della modellazione dei dati nel caso di un sistema informativo scolastico. Quando pensi a cosa significa una classe , scopri che (tra le altre cose):

Una classe è un'attività regolarmente programmata che ha un inizio e una fine ed è supervisionata (insegnata) da un educatore scolastico. All'interno di questa attività viene insegnata una materia o viene eseguita un'attività (come lo sport), quindi una materia viene offerta come zero, una o più classi .

Quindi la classe di parole è davvero una "Attività formativa programmata". Quindi hai la scelta di:

  • ScheduledEducationalActivity

  • ScheduledActivity (nel qual caso puoi essere più generico e consentire all'attività di essere educativa o un evento come una lezione o un seminario o un torneo, ... ecc.)

  • SubjectOffering

Quindi la classe del nome è davvero una convenzione o (un nome commerciale) ma non è il nome migliore che descrive l'entità.


-2

È possibile dichiarare l'entità come ClassRoom!


2
Sarebbe un brutto nome, a meno che l'entità non rappresenti la stanza fisica in cui si terrà la classe.
Jesper,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.