Princip DRY v CouchDB
DRY (Don’t Repeat Yourself) je jedním ze základních znaků dobrého programátorského stylu. Platí, ať už se jedná o programování nízkoúrovňové nebo vysokoúrovńové, pro backend, frontend, pro jazyky skriptovací stejně jako pro dotazovací. Konstrukcí, která umožňuje tento princip dodržet, jsou především podprogramy (ať jsou zvány v daném jazyce procedury, funkce či jakkoli jinak).
Chris Strom ukazuje, jak využít princip DRY při práci s nerelační databází CouchDB a na praktickém příkladu demonstruje použití funkcí v CouchDB
Mně osobně se CouchApp moc nelíbí, hlavně kvůli tomu, jak se ukládají ddocy na disk. Mám rozpracovaný podobný prográmek (ale v Ruby), kde jeden ddoc není adresář, ale soubor. Zatím to nehodlám zveřejňovat, protože parsování je vyloženě naivní, ale RKelly (i když už se nevyvíjí) vypadá jako super řešení.
Jinak řešení s preprocesorem je pěkné, ale v nějaké budoucí verzi (snad už 0.11?) by mělo být možné do ddoců normálně ukládat funkce a používat
require
z CommonJS – aspoň jsem to nedávno viděl v mailinglistu, nevím, jestli už je to v SVN.