The video everyone is referencing in this thread has an example of the possible "pattern" that you reference: https://www.youtube.com/watch?v=KqFNbCcyFkk&feature=youtu.be...
14 karma · joined September 19, 2016
The video everyone is referencing in this thread has an example of the possible "pattern" that you reference: https://www.youtube.com/watch?v=KqFNbCcyFkk&feature=youtu.be...
The term TDD gets conflated with unit testing, and testing in general that it gets quite confusing have a discussion without going into hyperbole.
It's a decent amount of cruft that you need to put in and it's not always smooth sailing.
TypeScript sometimes needs hinting and if you're doing it server-side. I once had to fix something in my node_modules because they were doing something wrong and TypeScript wouldn't compile unless I fixed that too.
I'm not saying that it's not worth it.
However, my team were severely turned off when we first started running with this.
The biggest problem with discourse is that we think we know what the other person is thinking.
I remember going through this process for internships and wondering how I was supposed to figure out all of these weird puzzles on the spot. Then I made a few friends and we all just traded questions with each other. We'd spend weeks on the problem and pretended we just figured it out.
I mean, sometimes I like writing an acceptance test to begin with and work inwards.
People sometimes interchangeably use "TDD" for "testing". Also, just because you do TDD, doesn't mean your code can be great, I've seen people assert pointless things and the unit has gotten so small that people now define them as methods in classes. Which I also think can lead to some crazy maintenance suite of tests.
If you're interested, this was a fun discussion about TDD between two professionals: https://www.youtube.com/watch?v=KtHQGs3zFAM Jim Coplien and Uncle Bob.
However, we must remember that coolness isn't just coolness. There are labour laws and such that need to be in place to prevent people skirting them.
Sadly, laws don't catch up as fast as technology. I mean the only reason Uber is even decent is because of the existing shitty taxi laws across the world that allowed terrible monopolies to overcharge and not bother innovating.
The libertarian in me, wants these things to just happen. That being said, you have to respect local laws in which they operate.
However, trying to apply some existing things were slightly confusing. I had trouble understanding immutability with the existing C# structures and wasn't sure if anything I was doing in this was correct. My Google-Fu was a bit weak.
What I found strange was that I wasn't able to create a Folder in Visual Studio. I'm not sure if that was a design choice, but I decided that if Microsoft wasn't going to take this language seriously. Then I wouldn't either.