Pearls. > I would NOT allow people to write tests > now [...] we started with tests from the ground up
Two different stages of the project, not necessarily contradictory. I'm not saying this is great, but tests make a whole lot more sense when you know what you're building.
Throwing away 18 months of code and starting over
31–40 of 89 posts
Re: Throwing away 18 months of code and starting over
#32It's not really hinted at in the article, which doesn't actually mention whether the rewrite was a net gain - I presume it was or they wouldn't have written the article, and the lead-in picture paints a rosy picture, but the tone at the end suggests he's not happy with how things turned out. But one thing that used to be a common design anti-pattern was the "version 2 problem". I think I first heard about it when Net…
As I rewrote it, I started pulling in more "nice to haves" or else opening up the design for the potential to support more and more future features. I eventually got to a point where it became unwieldy as it had too many open-ended architectural decisions and a lot of bloat.
I ended up scrapping this v2 before releasing it and worked on a v3 but with a more focused architecture, having some things open-ended but choosing not to pursue them yet as I knew that would just introduce unneeded bloat.
I was quite aware of the second-system effect when doing all this, but I still succumbed to it. Thankfully, the v3 rewrite didn't take as long since I was able to incorporate a lot of the v2 design decisions but scaled some of them back.
Re: Throwing away 18 months of code and starting over
#33Earlier quoted context omitted.
Did I say that my way was the right way? No: what I said was actively disallowing tests in every situation was the wrong way. There is no ability here for the cost benefit analysis to change over time. There is only no tests
Did you edit the wording of your original comment slightly to emphasise the "actively disallowing them" in every situation? Anyway... if that is what you meant, then ok. It's less awful a statement than what I felt I originally read. I'd still push back on your hyperbole though. I don't think the author was insane - and we don't know what the broader business context was when they started growing the team and decided…
What we really don't need is paragraphs of someone arguing because their own definitions differ slightly from the OP
Re: Throwing away 18 months of code and starting over
#34Earlier quoted context omitted.
> they just stampede in with "THIS IS THE RIGHT WAY". And the discussion can't even be had. That's exactly what this person is railing against. They strictly forbid testing.
Again - that's a business decision that needs to be made in the context of that business. The fact that testing was forbidden isn't in itself good or bad. It depends on that business context. THe post says nothing about how that decision was made, whether it was discussed, or if it was just his absolutist ideal he imposed without consideration of the broader cost-benefit. And I still feel the original comment doesn't…
Re: Throwing away 18 months of code and starting over
#35Having a culture of not ever writing tests and actively disallowing them is so insane I can't even imagine why there's anything else in this post
I feel like we keep having to reestablish known facts every two years in this field.
Re: Throwing away 18 months of code and starting over
#36Tests are how you ship fast.
If you have good tests in place you can ship a new feature without fear that it will break some other feature that you haven't manually tested yet.
Re: Throwing away 18 months of code and starting over
#37It's not really hinted at in the article, which doesn't actually mention whether the rewrite was a net gain - I presume it was or they wouldn't have written the article, and the lead-in picture paints a rosy picture, but the tone at the end suggests he's not happy with how things turned out. But one thing that used to be a common design anti-pattern was the "version 2 problem". I think I first heard about it when Net…
Usually levied at people who are so hyper focused on shipping a so-called MVP that is really demoware that they are driving us at a brick wall and commenting the entire way about what good time we are making.
Re: Throwing away 18 months of code and starting over
#38Re: Throwing away 18 months of code and starting over
#39Having a culture of not ever writing tests and actively disallowing them is so insane I can't even imagine why there's anything else in this post
And particularly the “no tests go faster”. I feel like we keep having to reestablish known facts every two years in this field.
Re: Throwing away 18 months of code and starting over
#40Earlier quoted context omitted.
Did you edit the wording of your original comment slightly to emphasise the "actively disallowing them" in every situation? Anyway... if that is what you meant, then ok. It's less awful a statement than what I felt I originally read. I'd still push back on your hyperbole though. I don't think the author was insane - and we don't know what the broader business context was when they started growing the team and decided…
He did not edit, and you're misunderstanding the meaning behind his post. Not everything needs to be pedantic and accurate, language is flexible, this is about communicating, not being right. What we really don't need is paragraphs of someone arguing because their own definitions differ slightly from the OP
He edited his reply to me multiple times... which is what made me suspect an edit to the original comment. But whatever, I'm happy to acknowledge his original intent even if he did state it more harshly.
>What we really don't need is paragraphs of someone arguing because their own definitions differ slightly from the OP
This is unnecessary. OP came out with "AUTHOR IS INSANE" even on the most generous of interpretations. Even if we allow for nuance OP is claiming, there is little constructive about his contribution. I feel fine about calling it out.