2 ms·
One of the problems with attempting to write interface is the opaque source/consumer problem. E.g. I'm working on a system that I could hypothetically abstract
by ethbro 10y ago
One of the problems with attempting to write interface is the opaque source/consumer problem.
E.g. I'm working on a system that I could hypothetically abstract (I've got access to it, can poke with enough tests and test data, etc).
However. What I don't have is access to code or test injection into any of my sources / consumers. Both of which are expecting all the corner case quirks to be exactly identical and may actually have accreted software that depends on a specific quirk. A specific quirk that I have no way of knowing about. Or may send me something I've never seen and am not expecting because it's a 1:1,000,000 corner case, and we don't have any logging of an example that came through production.
I haven't worked on too much of the heavyweight stuff like you have, but I tend to take the perspective that "a 100% compatible rewrite is impossible." 95%+ maybe, but we're going to have to deal with the <= 5% after it goes to production.
Did you ever pursue writing and dropping a new tailored load balancer / router type application on the incoming data stream such that you could divert a specific portion onto new system(s)?
- pc86 10y ago> we don't have any logging of an example that came through production. If it's something that's never come through production, it is not already documented anywhere, and it has an occurrence rate of approximately 0.001%, is it really a feature that needs to be replicated?
- tenken 10y agoSure, because clients will say anything short of 100% success is failure. (Currently migrating a site of 125k pages of content with oodles of edge-cases)