Eric Evans maybe said it the best that code should be rewritten again and again as new insights come from the domain to get closer and closer to the real thing. Every time we write the code we gain new insight so the original should be essentially written closer to the real things with these new insights. I've been taking this approach coupled with ddd where the aggregate root's pure domain logic is relatively easy to actually discard and recreate.
I can't find the snippet but it's somewhere in the "DDD is not for perfectionists" vein
I can't find the snippet but it's somewhere in the "DDD is not for perfectionists" vein