Oggi stavo lavorando con una certa libreria di test in Ruby piuttosto popolare per preparare una pull request e ho riscontrato un problema che ho già incontrato molte volte: test che passano e/o falliscono a causa del framework di test stesso che inquina lo spazio dei nomi globali. Non ci credi? Dai un'occhiata a questo:
i risultati sono stati prodotti utilizzando questo script
alcune persone hanno affermato che questo sarà sempre un effetto collaterale dell'avere DSL piacevoli, ma semplicemente non è vero:
quindi, imparate a scrivere DSL nel modo giusto, gente. Il modo giusto è qualsiasi modo che non scarichi metodi su ogni oggetto e namespace senza un motivo estremamente valido.
"dovrebbe essere leggibile" non è un buon motivo.