Validierung und Qualitätssicherung
Mehrschichtige Validierung Ebene 1: Strukturvalidierung Prüfung: Sind alle erforderlichen Komponenten vorhanden? function validiereStruktur(layout) { const erforderlich = ["ES", "IST", "HALB", "UHR", "VOR", "NACH"]; const fehlt = erforderlich.filter(wort => !layout.includes(wort));
if(fehlt.length > 0) {
return {gültig: false, fehler: Fehlende Wörter: ${fehlt}};
}
return {gültig: true};
}
Ebene 2: Nachbarschafts-Validierung Prüfung: Gibt es identische benachbarte Buchstaben? function prüfeNachbarn(raster, zeilen=10, spalten=11) { for(let z = 0; z < zeilen; z++) { for(let s = 0; s < spalten; s++) { const index = z * spalten + s; const zeichen = raster[index];
// Horizontal
if(s < spalten - 1 && zeichen === raster[index + 1]) {
return {fehler: Dopplung bei Position ${index}};
}
// Vertikal
if(z < zeilen - 1 && zeichen === raster[index + spalten]) {
return {fehler: Dopplung bei Position ${index}};
}
}
}
return {gültig: true};
}
Ebene 3: Schutzrechts-Compliance Prüfung: Ist das Layout identisch mit geschützten Designs? function prüfeSchutzrechte(layout) { const geschützteLayouts = [ "ESKISTAFÜNFZEHNZWANZIG...", // Beispiel geschütztes Design // Weitere geschützte Varianten ];
for(const geschützt of geschützteLayouts) { if(vergleicheLayouts(layout, geschützt)) { return { gültig: false, warnung: "Layout ist identisch mit geschütztem Design!", hinweis: "Bitte eigenes Design entwickeln." }; } } return {gültig: true}; }
Qualitätsmetriken
Lesbarkeit
-
Durchschnittliche Anzahl beleuchteter Buchstaben
-
Minimale/Maximale Wortlänge
-
Gleichmäßige Verteilung
Effizienz
-
Anzahl ungenutzter Felder
-
Wiederverwendung von Buchstaben (z.B. FÜNF als Minute und Stunde)
Wartbarkeit
-
Konsistente Positionierung
-
Logische Gruppierung
-
Dokumentation im Code
Erweiterte Lernziele