Jag arbetade med ett välkänt Ruby-testbibliotek idag för att förbereda en pull-request och stötte på ett problem jag har stött på många gånger: test som går igenom eller misslyckas på grund av testramverket självt som förorenar helvete ur de globala namnrymderna. Tror du inte på mig? Kolla på det här:
resultaten producerades med hjälp av det här skriptet
Vissa människor har hävdat att detta alltid kommer att vara en bieffekt av att ha fina DSL:er, men det är helt enkelt inte sant:
Så, lär er att skriva DSL:er på rätt sätt, människor. Det rätta sättet är något som inte dumpar metoder överallt på varje objekt och namnrymd utan en extremt god anledning.
“Det ska läsas bra” är inte en bra anledning.