Hey, my name is Juntao. I am a developer, a YouTuber and an author. I help people write better code. In this SubStack, I share tips and tricks I've learned along the way, including best practices for writing clean code, techniques for effective refactoring, and strategies for implementing TDD in your projects.
I'll also share some of my favourite productivity tips for staying organized and efficient so that you can be your best developer.
I've been applying Test-Driven Development (TDD) to various projects for years. It's not uncommon for me to witness developers embracing TDD initially, only to abandon it later in their daily work. This phenomenon prompts a crucial question: Why does this happen? Is it because TDD only works in simple, toy projects, or something trivial like an online course setup? Absolutely not, and I'm here to explain why.
In a recent project involving a node.js event-driven data migration setup, my colleague Liam and I embarked on a journey that underscored the power of TDD. He initially doubted its effectiveness, questioning whether it would work in a complex environment. But his skepticism quickly transformed into belief as he observed how I wrote tests and produced production-ready lambda functions by following these simple three steps.
The challenge isn't merely adhering to the classic red-green-refactor loop but mastering the step that precedes it, a critical process called "tasking."
Unpacking Tasking
Tasking might be a part of your daily workflow without you even realizing it. It's a systematic approach to problem-solving that involves breaking down a requirement into manageable, sequential tasks. These tasks should ideally be completable within a few minutes to an hour.
Keep reading with a 7-day free trial
Subscribe to The Pragmatic Developer to keep reading this post and get 7 days of free access to the full post archives.