Refactoring Without A Net – Webinar Recording
What exactly is refactoring? Is it just changing code? What does “not changing functionality” really means? Well, you’ve come to the right place. I’ve got just the webinar for you. And not only that, I’m going to show you how to refactor, even when you don’t have tests. If you Read more…
On The Edge
A lot of people use the term “Edge Case”. I find it offensive. Ok, not really, but there’s a misuse of the term. While we’re at it, let’s throw in negative cases, happy and unhappy paths, etc. We tie in “cases”, which are behaviors, together with code paths. It’s a Read more…
Where do bugs come from?
People ask me: Are we ever going to get rid of bugs? And I tell people: No. And then they pull out their machine guns and things get messy. But why is that? Are we really doomed for fighting bugs for the rest of our lives? Or theirs? Are we Read more…
Clean Code is a Social Activity
I do a lot of clean code workshops these days; it seems that, finally, clean code gets the respect it deserves. Clean tests too. There’s one point I make (a few times even) during the workshop: While I give a lot of examples of what people think makes clean code, Read more…
“Spock” Talk at ExpoQA 2019, Madrid
“Why do we need another testing framework”? Next week, I’m giving a brand new talk at the expoQA conference in Madrid. It’s on Spock – the unit testing framework, not the Starfleet commander. The first question I need to answer is – isn’t JUnit enough? Sure, there’s TestNG, but other Read more…
“Dependency Injection” Talk – The Slides
Had a great fun at the meetup, as always. And the fun part was that my message resonated a lot stronger after the lightning talk before mine, where the speaker talked about how the developers chose a technique that made testing hard, because of un-observable and uncontrollable components. So dependency Read more…
Clean Code: The Rectangle and the Square – Part II
Last time, in the first post in my new clean code series, we discussed how I torment my students with the ol’ Square and Rectangle trick in my Clean Code course, talking about Liskov Substitution Principle (LSP). At the end of the discussion, we got the audience to understand the Read more…