2009-06-07 4 views
3

Wir haben ein System, dessen Verhalten durch eine Reihe von XML-Dateien definiert ist. (Etwa 50 verschiedene XML-Dateien, von denen jede das Verhalten eines Untersystem regelt.)Welcher passt besser zu UI oder DSL?

Die XML-Dateien für Legacy-Gründen sind in einem benutzerdefinierten Format , zum einfachen Verbrauch durch verschiedene Komponenten im System gedacht.

Das benutzerdefinierte Format ist nicht sehr intuitiv und für einen Menschen lesbar. (Das ist auch eine wichtige Überlegung für uns).

Also, wie gehen wir dieses Lesbarkeitsproblem an?

Ich denke, dass eine intuitive Benutzeroberfläche, die auf diese XML-Dateien geschrieben ist, die Aufgabe erfüllen sollte.

Meine Mitarbeiterin findet jedoch, dass das Ersetzen von XML-Dateien durch DSL eine bessere Idee ist, da sie sowohl intuitiv als auch maschinenlesbar sein können.

Ist das eine gute Idee oder ein Overkill? Ich habe das Gefühl, dass DSL im Vergleich zu einem UI extrem schwer ist. Aber ich könnte falsch liegen.

Jede Hilfe würde sehr geschätzt werden. Vielen Dank.

Antwort

2

Eine XML-zu-XML-Übersetzung ist eine halbwegs Lösung und ist wahrscheinlich der Ansatz, den ich verwenden würde.

A UI hat sehr vollständig sein, bevor es ein Ersatz für eine textbasierte Beschreibung des Verhaltens ist, und gemeinsame textbasierten Idiome wie Kopieren & Einfügen, Suchen & ersetzen usw. ist umständlich mit guter Bedienbarkeit in einem implementieren Benutzeroberfläche.

Allerdings ist ein ausgewachsenes DSL mit einem benutzerdefinierten Parser wahrscheinlich ein Schritt zu weit, insbesondere wenn es keine Parser- oder Compiler-Erfahrung in mehreren Mitgliedern des Teams gibt. Versteh mich nicht falsch - ich glaube nicht, dass Leute Angst vor Parsern haben sollten, ich bin selbst ein Compiler-Ingenieur - aber es ist eine Tatsache, dass einige Leute Angst haben, und wenn der Parser nicht richtig gemacht wird, kann es kommen ziemlich schnell unordentlich.

Also würde ich vorschlagen, ein idealisiertes XML-Format zu entwerfen und ein Werkzeug zu schreiben, das dieses Format in Ihr echtes XML-Format entweder mit XSLT umwandelt (wenn es einfach ist - würde ich nicht zu tief in XSLT-Funktionen usw. gehen) oder eine einfache Übersetzungs-App.

Es gibt viele Vorteile, ein lesbares Textformat für die Spezifikation zu haben: Ad-hoc-Bearbeitung ist einfach (Sie brauchen nur Notepad), Diffs von der Quellcodeverwaltung sind lesbar, Schnipsel können per E-Mail verschickt werden usw. Benutzerfreundlichkeit und funktionale Parität mit einem Textformat ist nicht einfach.

+0

Ich stimme Barry – Kane

+0

Dank für die Informationen Barry. Mit idealisiertem XML-Format meinen Sie eine viel besser lesbare Form von XML, die von einem Programmierer direkt geschrieben oder optimiert werden kann? Ein paar Leute in unserem Team haben Erfahrung mit lex/yacc. Jedoch hat keiner von ihnen vollständige Erfahrung im Compilerschreiben geschrieben. – Prashanth

+0

Wie stellen Sie auch sicher, dass der Benutzer, der die Dateien bearbeitet, es richtig macht und nicht versehentlich Fehler begeht? Wäre das nicht ein benutzerdefinierter Editor mit einer automatischen Vervollständigungsfunktion und einem Validierungsmittel nach der Bearbeitung? (Wir möchten, dass nicht übereinstimmende Daten so schnell wie möglich angezeigt werden) – Prashanth