Une classe nommée classe?

18

C'est plus une question de style, mais c'est quelque chose que je réfléchis actuellement à un de mes projets.

Supposons que vous créez une application qui modélise une école. Donc , il y a des entités telles que des étudiants, l' école, etc. Maintenant , tout cela est bien et intuitive jusqu'à ce que vous descendez à la classe, comme (dans la plupart des langues) Classest un mot réservé. Donc, étant donné qu'il Classs'agit d'un mot clé réservé, comment appelleriez-vous une telle entité qui modélise une classe scolaire?

Jason Whitehorn
la source
19
Classe d'école????
Matthew Flynn
5
Vous pouvez essayer un synonyme thesaurus.com/browse/class
Gyan aka Gary Buyn
@MatthewFlynn, cela m'a effectivement traversé l'esprit. En fait, c'était ma première ...
Jason Whitehorn
1
J'ai rouvert la question. Les réponses qui réitèrent d'autres réponses ou qui sont des lignes simples sournoises seront supprimées, de même pour les commentaires hors sujet.
yannis
1
C'est une question tout à fait légitime: "Que faites-vous lorsque votre terme spécifique au domaine se heurte à un terme dans le langage de programmation que vous avez choisi". Il était simplement décrit dans les termes d'un exemple spécifique, ce qui est bien.
Steve Bennett

Réponses:

37

Je choisirais un autre terme parce que le mot classe peut être ambigu.

La classe fait-elle référence à:

  1. Le groupe d'étudiants suivant un cours?
  2. Le cours entier pour ce semestre?
  3. Le cours abstrait enseigné en plusieurs semestres?
  4. Le groupe d'étudiants devrait obtenir son diplôme à un moment précis?
  5. Une autre classification des étudiants, c.-à-d. Classe avancée, classe des besoins spéciaux
  6. Une conférence spécifique

Et c'est sans même quitter le domaine académique. Les chances sont que vous pouvez trouver un meilleur mot pour s'adapter à tout ce que vous essayez de modéliser. La classe ne mènera qu'à une certaine confusion.

Winston Ewert
la source
Ah, oui ... de très bons points. C'est le type de discussion que je recherchais. En fait, je voulais dire "Un groupe d'étudiants suivant un cours spécifique enseigné par un enseignant spécifique à un moment précis pour un seul trimestre scolaire (année, semestre, etc.)" ... si cela a un sens. Ou, en d'autres termes, "je prends Biologie II avec M. Smith @ 14 heures les lundis, mercredis et vendredis."
Jason Whitehorn
Le problème général des termes de domaine établis en conflit avec les mots-clés linguistiques reste cependant ...
tdammers
Dans certaines institutions, cela s'appelle un Stream. (Qui a ses propres problèmes de conflits de noms :))
Steve Bennett
21

Vous pourriez l'appeler un «cours», un «sujet» ou une «conférence» s'il s'agit d'une classe spécifique. Vous pouvez également utiliser "Section", etc.

Winston Ewert a vraiment souligné les questions que vous auriez à vous poser.

ihtkwot
la source
+1 pour la section. Cela semble être ce que @JasonWhitehorn avait en tête, basé sur sa réponse à la réponse de Winston Ewert
sq33G
2

Trouver un synonyme est une bonne idée, par exemple "Cours".

Cependant, la nécessité de réutiliser le mot classe est courante (souvent pour une variable locale de type classe ), et les remplacements conventionnels pour classe incluent klass , clazz et cls .

Tommy
la source
"klass" signifie que vous êtes allemand (ou néerlandais), "clazz" est plus comme "jazz" et "cls", oh, n'est-ce pas utilisé pour "CLearScreen"?
ypercubeᵀᴹ
1

Cela dépend, dans certaines langues, classc'est le mot réservé, non Class.

Adrian
la source
4
J'ai toutefois dit "... étant donné que la classe est un mot clé réservé ...", en plus, ne diriez-vous pas que deux éléments ne différant que par la casse est une horrible idée?
Jason Whitehorn
Cela ne signifie pas que vous devez l'utiliser. Plus que ce que vous devez utiliser If, Elseou Gotodans une langue où les versions minuscules de celles-ci sont réservées.
Dawood dit réintégrer Monica
5
Ce n'est pas une réponse.
Jordan
1
Java en a déjà un class Class.
dan04
3
@JasonWhitehorn: deux éléments ne différant que par la casse n'est pas nécessairement une mauvaise idée du tout - si toutes vos classes ont des noms en majuscules alors que tous les mots clés de votre langue sont en minuscules, il est tout à fait sans ambiguïté qu'il Classs'agit d'une définition personnalisée class.
leftaroundabout
1

Je suis d'accord avec @Winston Ewert que je choisirais un autre terme parce que le mot classe peut être ambigu.

Dans ce cas, vous devez utiliser un meilleur synonyme qui convient à votre implémentation. Si je modélise ce type d'architecture, j'irai pour le cours , mais il existe d'autres synonymes également disponibles.

Vérifiez un exemple d'architecture de classe qui correspond quelque peu à votre système. Réf: Cours étudiant et cours

Comme votre question est étiquetée avec la dénomination , utilisez un nom ou une expression nominale pour nommer une classe du synonyme que vous utilisez.

Niranjan Singh
la source
0

Dans certains langages de programmation, vous pouvez utiliser des mots réservés dans les noms de variables (éventuellement même des noms de classe?). Par exemple, en C #, vous pourriez faire comme ça même si classc'est un mot réservé:

string @class = "Super class";

Vous pouvez vérifier les spécifications de votre langage de programmation si cela vous permet de le faire.

Sinon, allez simplement avec la réponse de Winston Ewerth.

Tx3
la source
0

Mis à part la syntaxe du langage de programmation, la classe de mots n'est pas un bon nom du point de vue de la modélisation des données dans le cas d'un système d'information scolaire. Lorsque vous pensez à ce que signifie une classe , vous constatez que (entre autres choses):

Une classe est une activité régulièrement programmée qui a un début et une fin et est supervisée (enseignée) par un enseignant de l'école. Dans cette activité, une matière est enseignée ou une activité (comme le sport) est exécutée, donc, une matière est proposée en tant que zéro, une ou plusieurs classes .

Donc, le mot classe est vraiment une "activité éducative planifiée". Vous avez donc le choix entre:

  • ScheduledEducationalActivity

  • ScheduledActivity (auquel cas vous pouvez être plus générique et permettre à l'activité d'être éducative ou un événement comme une conférence ou un séminaire ou un tournoi, ... etc.)

  • SubjectOffering

Ainsi, la classe de noms est vraiment une convention ou (un nom commercial) mais n'est pas le meilleur nom qui décrit l'entité.

Aucune chance
la source
-2

Vous pouvez déclarer l'entité comme ClassRoom!

Iron59
la source
2
Ce serait un mauvais nom, à moins que l'entité ne représente la salle physique où la classe doit avoir lieu.
Jesper