[development] Proposed Apocrypha
Jeff Eaton
jeff at viapositiva.net
Thu May 7 15:34:53 UTC 2009
On May 7, 2009, at 10:25 AM, Greg Knaddison wrote:
> We have to temper the ideal with reality. We have several swappable
> systems in Drupal (database, mail sending, caching, others?) and as
> far as I know only one of them has multiple backends in core
> (databases). We are able to have multiple backend for databases, but
> it takes a lot of effort. I doubt we have the capacity to create not
> just 2, but 3 implementations for all of the other swappable items in
> core. There's also the question of baggage. Do we really want to
> merge SMTP [1] and Fastpath FSCache[2] into core? Would that be a
> total improvement? Would the additional complexity (usability
> decrease) be worth it just so we can satisfy a desire to properly test
> that APIs?
Also, the rules and corollaries I'm brainstorming are limited by the
fact that I'm trying to fit them into Twitter-compatible 140-character
snippets. It's a nice exercise in simplicity when explaining
principles can easily veer into long digressions. ;-)
I agree that three implementations is better, because we're more
likely to run into REAL variations, but as you say it's not
necessarily realistic that very new API have three fully fleshed out
example implementations. We can work towards it, and encourage it, but
it's the "only one implementation" scenario that should really set off
warning lights when we see it. The "write two" is mostly about smoke-
testing for 'fake APIs' that look like swappable subsystems but are
still too anchored to the original implementation to be replaceable.
Also, I don't think we necessarily HAVE to include each of our test
implementations in core. But we should at least write them whenever
possible, to flush out problems and also to reveal areas where
'perfect flexibility' isn't worth the overhead. (A persistence layer
that can use SQL databases or XML files would be terribly flexible but
probably not worth the work, for example.)
-eaton
More information about the development
mailing list