@eternalcherryjubilee

The way it is explained in incremental, step-by-step order makes this video feels smooth, easy to follow, and beginner friendly. Even though it's already 8 years old, it's one of the best refactoring video around. Thanks a lot sir!

@IsraelSantiagoBH

Definitely one of the best videos about testing and refactoring, thank you !

@RiteshPuj

What one learns from this video is what beginners learn after years of experience. Thank you very much for this video... Truely grateful.

@vuluongtrieu2609

0:50 Legacy code rule
1:18 Tips: 
- Start testing from shortest branch to deepest branch.
- Start refactoring from deepest branch to shortest branch.

6:02: Tip for testing with outside (cannot mock) dependence.
57:20 Refactoring static method.

@janicknorman9396

Definitely one of the best videos about testing and refactoring.

@wolframschroers

Thank you very much for this in-depth refactoring work! Very specific and practical examples with general and powerful techniques. I certainly learned a lot seeing you in action!

@webbsk

This is a really fantastic video. I am C# developer and I was still able to follow along perfectly and learn SO much. Thanks so much for sharing this, you should be proud!

@pterovich

Finally took the time to do this kata. It's great to see your pov afterwards. Thanks for sharing!

@professorclever6487

There's not many refactoring tutorials as good as this! Thx.

@caneesh

Thank you for publishing this video. This is an asset to the world, because it teaches  developers to write good quality code. Publish other videos addressing different challenges, its a great social service

@dawid_dahl

Finally a testing video showing ACTUAL testing in real life. Instead of in a pristine, best-case-scenario where there are zero dependencies and oooh ‘magically the only thing that needs to be tested are pure functions’.

@prashant2782

Very good video on writing clean code with refactoring. I liked the various shortcuts you used as well. Almost a putting it all together kind. Thanks for sharing!

@SandroMancuso

Absolutely. Both PowerMock and JMockit are an alternative. I, personally, discourage the use of both since they allow us to test things we should not be testing, like private methods and other internals. Since they make testing legacy code easier, developers are less inclined to see the issues the code really has. Some people use the expression "listening to our tests". Basically, what it means is if it is too difficult to test, almost always is because the code is not good enough.

@satoristeve

This was an exceptionally insightful and helpful video. I've been trying to teach myself good TDD recently, and one of my big hurdles has been dealing with legacy code (the other being figuring out how to begin testing MVC frameworks). Subscribed and I will be ordering your book. Thank you again for your excellent tutorial!

@abhilashmaipady4081

Such a great tutorial. Explained all the basics about the unit testing. Expecting these kind of videos again.

@kauanmocelin

Very good insights on how to deal with coupled legacy code, thanks man! 👏👏

@SandroMancuso

Here is the Github repository: github.com/sandromancuso/trip-service-kata

Feel free to clone and play with it. :)

When you do, push your solution to your own Github and send us the link adding a comment here. I would love to see different solutions and approaches to it.

Thanks for watching the video.

@zedisdeadz

6:55 the seam technique is so good. actually solves 90% of the legacy code testability issues :D

@ahvetm

I really enjoyed this video. Your experience shines through in even the smallest change you perform - even choosing the most expressive method names is an art that takes a long time to perfect. This is going to help me a lot at my current task at work! My favourite bit was your test naming convention.

@sbern714

My compliments!  A very useful tutorial, and it's a joy to watch you code.