How to do it?
Rubber Duck Debugging is the process of going through your code and explaining as detailed as you can to someone that don't anything about it. Usually, you do it to spot bugs, but you can use it to better understand your code (or your team's codebase).
To do it with GitDuck all you need is to click "Start GitDuck" in your IDE and start explaining your task. First talk about your goals clearly. Then go through your code line-by-line so you can articulate all the details about what you are trying to achieve. Try to use clear words and vocabulary anyone can understand. The explanation process is the goal, so try to enjoy it don't feel like someone is judging you.
Can I share it?
Sure! The Rubber Duck Debugging methodology is great for sharing as it produces a video that is easy to understand. With GitDuck you can generate a unique URL with the video explanation that is actually linked to your codebase. How cool is that?
Besides for debugging, the methodology is great for explaining concepts to other people. By thinking aloud, you are able to express your reasoning and support other developers that are blocked, people that are learning to code or to explain something to your non-technical teammates. Anyone watching your GitDuck video will learn as you learned when you recorded it.
Why does Rubber Duck Debugging work?
Rubber duck debugging works because it forces you to think and articulate your ideas in a clear way. The computer needs simple instructions and if you are not able to explain it clearly, maybe that's the reason there's a bug in your code. The rubber duck debugging methodology helps you focus and think clearly so you can transmit the knowledge to other people. By going through this process, you are improving your own understanding of the topic (or finding that nasty bug).
The methodology is based on the method of learning by teaching. Where people learn a concept by explaining it to other people. That's a very effective methodology as it generates a video that is easy to follow at the same time that by recording it you are also learning something.
When to do it?
There are no limits! You can apply the rubber duck debugging methodology once you are blocked or facing a bug. You can use it to summarize a task you are working on or a complex concept. Could be that you want to give a quick status on what you achieved or you are planning to do. Or maybe you just want to teach something to another developer. As you can see there are several options!
The methodology is effective because it can be applied in different situations and it also helps both parties to learn. If you are doing it for yourself, you are going to be able to debug the code or get ideas on how to improve your code. If you are doing to explain to someone else, by recording it with GitDuck you will learn as the person that watches it.