Talk to Each Other - TheIronYard--Orlando/2015--FALL--ROR GitHub Wiki
Why We Communicate About Code
Your Typos Are Hard for You to Find
Writing functioning code requires precision.
If your code has a typo, it won't work.
It's easier to see someone else's typos than your own, because you have a tendency to assume what you typed was right or you wouldn't have typed it.
Fixing another person's typo makes you feel useful. Having your own typo fixed - whether you fix it yourself or someone else finds it - can make you feel a bit dopey.
Therefore it's a good idea to ask someone else to read over your code if you suspect it might be broken because of a typo. It's easier for the other person to find it, and it'll make the other person feel useful.
Hear and Understand
Different parts of the brain are involved in hearing about, reading about, and solely thinking about a problem.
Therefore hearing about a coding problem can activate different parts of your brain than reading or thinking about it.
Therefore talking about a coding problem can help you solve some problems that you can't solve by reading or thinking about them.
Talking to yourself, or a non-technical spouse, or pet, or rubber duck, is a time-honored problem solving strategy.
Talking to another developer can work the same way.
Therefore it's a good idea to talk to someone else about problems you're having in your code. Hearing yourself describe the problem can lead to a solution even if the other person offers no input.
You Think Less Precisely Than You Think
Writing functioning code requires precision.
Thinking about a problem does not require precision.
Putting your thoughts about a problem into words requires more precision than just thinking, but less than coding.
Therefore talking about a coding problem with another person can help lead you towards a solution by forcing you to be precise enough about your thoughts to put them into words. If your words are unclear to the other person, it's a sign that your thoughts might not be clear enough to be turned into code.
Listen and Learn
Writing functioning code requires you to know things.
Other people know things.
Therefore talking about a coding problem with another person can give the person the opportunity to teach you something you can use to solve your problem.