Reddit reviews The Art of Unit Testing: with examples in C#
We found 12 Reddit comments about The Art of Unit Testing: with examples in C#. Here are the top ones, ranked by their Reddit score.
Manning Publications
We found 12 Reddit comments about The Art of Unit Testing: with examples in C#. Here are the top ones, ranked by their Reddit score.
> I know programming
I have a checklist I usually bring out at this point :) You should know:
If you confident you have all this you'll probably want to start learning about design patterns and decoupling techniques. This free online book is amazing, and I would recommend it to everyone:).
Other books like Clean Code and The Art of Unit Testing have helped me a lot too.
With coding, it because more about creating code that is easy to change. I would also recommend using StrangIoc along with MVC to achieve decoupled, clean code:)
The Art of Unit Testing: with examples in C#
I found this book to be incredibly helpful: https://www.amazon.com/Art-Unit-Testing-examples/dp/1617290890/ref=sr_1_1?ie=UTF8&qid=1500721325&sr=8-1
It's not so much about Test Driven Development, but focuses more about how to organize and write unit tests and fakes. Has a lot of discussions pro and con regarding things you may run into. It also compares unit testing frameworks. Keep in mind that the book is over three years old now, so those comparisons may or may not hold up as well anymore. Doesn't detract from the rest of the book though.
https://www.amazon.com/Art-Unit-Testing-examples/dp/1617290890
The only book I could really recommend for learning TDD is The Art of Unit Testing: with examples in C#, 2nd Edition
Can absolutely recommend the The Art of Unit Testing!
I'd recommend the basics from searching around, maybe checking out a video on youtube. Figure out how to setup a project using MSTest and one using NUnit (maybe XUnit as well). Do a basic TDD Kata (fizz buzz, etc).
Learn about using fakes/mocks/stubs (NSubstitute is good).
C# Specific book, new version out in November:
The Art of Unit Testing: With Examples in .NET
Get the pre-release here if you want:
The Art of Unit Testing: With Examples in .NET
Interesting!
Looks to me that you can "feel" what good code looks like but you're not able to rationalise it enough for you to write it on your own.
Couple of suggestions:
When you see elegant code, ask yourself: why is it elegant? Is it because is simple? Easy to understand? Try to recognise the desired attributes so you can try to reproduce on your code.
Try to write really short classes/methods that have only one responsibility. For more about this, search for Single Responsibility Principle.
How familiar are you with unit testing and TDD? It should help you a lot to write better designed code.
Some other resources:
There is a 2nd edition version of Art of Unit Testing which came out at the end of 2013 (Original is from 2009) with the examples focusing on C# which may/may not be more useful for people interested:
UK Amazon Link
US Amazon Link
I'd add the following two books to the list to cover TDD and the Software Design phase:
Disclaimer: I haven't read the latter but am familiar with the contents from courses I've attended with Mr. Gilb. Won't help you how to code but what to code when doing it on a contract.
I recommend focusing on the theory and patterns more than any toolkit or framework. Theory stays with you forever while frameworks come and go and are often language specific.
This book got me started. The examples are all in C#, but the theory applies to any object oriented language.
I've read that $30 book far more than any of the $200 textbooks from university, and it improved the quality of my work dramatically.
Dependency injection and interfaces are mostly more advanced concepts. You can code most things without doing them properly. It comes into the design of your software and testability. It's not something I'd recommend learning first. When it's time, I highly recommend reading The Art of Unit Testing by Roy Osherove: https://www.amazon.co.uk/Art-Unit-Testing-examples/dp/1617290890/ref=sr_1_1?ie=UTF8&qid=1511991453&sr=8-1&keywords=roy+osherove
Until then, you're better off learning how to actually code in C#, and learning important C# features such as the differences between reference and value types, LINQ, asynchronous programming, threading, and more. You can learn all of this with Venkat's C# for beginners series: https://www.youtube.com/playlist?list=PLAC325451207E3105
To develop a web project, you could then move onto Venkat's MVC tutorial series, however if you're planning to store data, I recommend first watching his Entity Framework and SQL Server series.