Sto cercando di codificare il mio DSL per la manipolazione dei file, solo per motivi di apprendimento.Sintassi DSL appropriata
Il mio obiettivo è renderlo comprensibile e facile da codificare.
Qui ci sono 3 alternative per accodando una stringa in un database.yml:
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 un po 'perso in tutte queste alternative.
Qualcuno con esperienza in DSL può darmi qualche consiglio e spiegare quali sono i pro ei contro di ognuno?
Tutti vengono letti allo stesso modo, ma voglio sapere quale segue le migliori pratiche per il DRY e lo standard di codifica corretto.
EDIT: Penso che andrà bene se potessi specificare alcuni parametri opzionali es.
append(string: "windows").to(file: "database.yml", :force => true)
Quindi, tenuto conto di questo, suppongo di dover utilizzare le chiamate al metodo. Perché se uso le alternative 4-5, quando specificherò: force => true, non posso sapere se è per la stringa o il file.
@musicfreak. tutti sono letti allo stesso modo. La prossima domanda credo sia quale segua una "best practice" per DRY. –
Forse dovresti specificare il Dominio: chi è l'utente di destinazione, che tipo di manipolazione di file vuoi, quale sarà lo scopo della tua 'DSL'? – David