Ich versuche mein eigenes DSL für Dateimanipulation zu programmieren, nur um zu lernen.Entsprechende DSL-Syntax
Mein Ziel ist es verständlich und einfach zu programmieren.
Hier gibt es 3 Alternativen für einen String in einen database.yml anhängt:
1. append("windows").to("database.yml")
2. append(string: "windows").to(file: "database.yml")
3. append_string("windows").to_file("database.yml")
4. append_string "windows", to_file: "database.yml"
5. append string: "windows", to_file: "database.yml"
Im ein wenig in all diesen Alternativen verloren.
Könnte jemand mit Erfahrung in DSL mir eine Anleitung geben und erklären, was das Für und Wider mit jedem ist?
Jeder wird gleich gelesen, aber ich möchte wissen, welche Best Practice für DRY und gute Codierung Standard folgt.
EDIT: Ich denke, es wird gut sein, wenn ich einige optionale Parameter angeben könnte z.
So betrachtet, denke ich, dass ich die Methodenaufrufe verwenden muss. Denn wenn ich Alternativen 4-5 verwende, kann ich bei Angabe von force => true nicht wissen, ob es sich um die Zeichenkette oder die Datei handelt.
@musicfreak. Alle sind gleich gelesen. Die nächste Frage, die ich vermute, ist die, die einem "Best Practice" für DRY folgt. –
Vielleicht sollten Sie die Domain angeben: Wer ist der Zielbenutzer, welche Art von Dateimanipulation wollen Sie, was wird der Umfang Ihrer 'DSL' sein? – David