1. 7
    1. 1

      This seems like the same natural evolution I see in my code.

      Is there something wrong with starting with the naive approach?

      Seems like if I started with the final product, I might waste time writing code if we decide that an email marketing feature was un-necessary.

      1. 2

        I’ve been using TDD for most of my new projects. I found that when I start writing tests for my code, I naturally break it up into testable chunks as seen in the post. Testing EmailSubscriptionWorker is much more robust than mocking the MailChimp object when testing User.subscribe_to_mailchimp and makes a lot more sense.