Skip to content

Naming Convention für Frontend Elemente

Bitte den StyleGuide beachten.

  • Dateinamen sind in [c|C]amelCase
  • Definitionen von Properties, Events und lokalen Variablen in camelCase
  • Element-Attribute in Kebab-Case

Die Benennung erfolgt grundsätzlich auf Englisch, mit Ausnahme von Fachbegriffen welche auf Deutsch verwendet werden.

Views

<Domain>[<Funktion>]View.vue

Beispiel

WahlvorstandView.vue ... eine View für den Wahlvorstand

Components

Basiskomponenten

Base<Type>[<Domain>]<Funktion>.vue

Beispiel

BaseButtonRefresh.vue ... Allgemeiner Button zur Aktualisierung

BaseButtonSave.vue ... Allgemeiner Button zum Speichern

BaseWahlvorstandMitgliedCard.vue ... V-Card zur Darstellung eines Wahlvorstandsmitgliedes

Single-Use-Komponenten

The[<Domain>]<Funktion><Type>.vue

Beispiele

TheWahlvorstandLastSendDiv.vue ... Wahlvorstandskomponente welche die Uhrzeit der letzten Übermittlung darstellt

TheWahlvorstandMitgliederTable.vue ... Wahlvorstandskomponente welche Mitglieder des Wahlvorstandes als Tabelle anzeigt

Stores

<domain>Store.ts

Beispiel

wahlvorstandStore.ts ... Store für den Wahlvorstand

Composables

domainspezifische composables

<domain><Funktion>.ts

Beispiel

wahlvorstandService.ts ... fachliche Funktionen zum Wahlvorstand

wahlvorstandMapper.ts ... Mappingfunktionen zum Wahlvorstand

wahlvorstandRules.ts ... wahlvorstandspezifische Validierungsregeln

allgemeine composables

<funktion>.ts

Beispiel

formatter.ts ... allgemein gültige Formatierungsfunktionen

Types

<interface>.ts

Beispiel

Wahlvorstand.ts ... enthält das Interface Wahlvorstand und eine Hilfsklasse die das Interface implementiert

Tests

Die Tests liegen im tests-Ordner, welcher der Aufbaustruktur des src-Ordners folgt.

<Testgegenstand ohne Dateiendung>.spec.ts

Beispiel

TheWahlvorstandMitgliederTable.spec.ts ... Tests zu TheWahlvorstandMitgliederTable.vue

wahlvorstandStore.spec.ts ... Tests zu wahlvorstandStore.ts

Storybook Stories

<Storybookgegenstand ohne Dateiendung>.stories.ts

IMPORTANT

Stories zu Komponenten, die den Store verwenden, haben auf der Übersichtsseite (docs) alle denselben Zustand. Der Zustand für alle Komponenten entsprecht dem Zustand im Store mit der letzten Story.

Beispiel

BaseButtonRefresh.stories.ts ... Stories zu BaseButtonRefresh.vue

Testattribut

Damit Elemente leichter für Tests zugänglich sind, sollen sie ein Attribut für Tests bekommen. Der Name des Attributes ist data-test.

Bei dem Wert handelt es sich nicht um eine ID.

Eventhandlingmethoden

on<Data><Event>

Beispiel

onAnwesenheitChanged($event, mitglied) ... Eventhandler, wenn sich die Anwesenheit geändert hat