Summarize some misunderstandings in the programming process

Publisher:anluranLatest update time:2013-05-06 Source: 21ICKeywords:programmer Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

I've had many experiences with pair programming over the past few years. Sometimes in my team, sometimes with clients, sometimes in coding dojos, and sometimes in my open source projects. For programmers who know how to pair program, this model is great and very effective.

But you can't just put a computer in front of two programmers and expect them to do a great job right out of the gate. Pair programming requires learning, and programmers need to know the difference between an implementer (the one typing away) and a pilot. Let's look at some details.

I encountered some misunderstandings in pair programming, which are listed below.

1. Navigator’s Misconceptions

1. The one who gives orders

A person who likes to give orders always tells the person typing: "Go to the last line, add a back bracket, and then..." He does not pay attention to the solution and what to do next, but pays too much attention to some programming details.

In fact, he wants to be in control of the keyboard himself. So when you meet someone who likes to give orders, hand the keyboard to him and switch the role of navigator.

2. Spelling Corrector

The spell checker sits next to you and corrects every wrong character you type. Of course, he doesn't have time to actually navigate.

Make an arrangement with the corrector to buy you a cup of coffee (or anything else you want) while he or she corrects you.

3. Fault-finder

A nitpicker will criticize every line of code you write. When his opinion is correct, he will insist on doing it his way, not using the code you have already written, but completely following his ideas.

Just as free jazz musicians reuse notes from other band members to construct a piece of music, good pair programming should build on the existing foundation.

Try reversing roles and maybe the nitpicker will become a snob.

4. The Silent One

The silent person is the one who hardly ever says anything. He just sits there and watches you work.

Try asking him what he thinks of your approach, or what test code to write next. [page]

5. Absent-minded

Distracted people are trying to distract you rather than offer you constructive feedback and help you solve your problems.

So let him go, it's better to program alone than with someone who distracts you.

2. Misconceptions of implementers

1. The hidden one

The deep covert just types the code without telling anyone what he is doing. The navigator has to figure it out on his own. There is absolutely no communication between the navigator and the implementer about what approach to use or which design to choose.

The Navigator needs to ask the Deep One about his plans or ideas.

2. A person who looks down on others

Arrogant people usually ignore all suggestions from the navigator, mostly because they feel their ideas or programming skills are superior.

When you encounter an arrogant person, stop pair programming immediately and start the next task. Arrogant people are often not good navigators. They are likely to become bosses or nitpickers.

3. People who are overwhelmed

People who feel overwhelmed are often not used to pair programming, are very nervous, and don't feel in control.

Make sure you are doing your best as a navigator. Give advice carefully and mainly encourage those who are overwhelmed.

However, this is the case for most programmers at the beginning. So, don't expect too much from them in pair programming. Let them become a navigator first, or have a navigator who can handle interpersonal issues well beside them.

4. People who jump a lot

People who make big jumps like to make big jumps in the code so that the navigator has no idea where they are.

The navigator needs to slow him down, ask him about his plans, and make sure he knows more shortcuts than he does.

5. People who are not familiar with the tools

People who are not familiar with the tools do not know the shortcut keys of the development environment, and their efficiency is very low.

Switch roles and show him your tricks. Or print out a cheat sheet with the shortcut keys.

I’m sure there are other misconceptions out there, if you have any ideas please leave them in the comments.

Keywords:programmer Reference address:Summarize some misunderstandings in the programming process

Previous article:Summary of MCU Programming Experience
Next article:How many times can a microcontroller be programmed?

Latest Microcontroller Articles
  • Download from the Internet--ARM Getting Started Notes
    A brief introduction: From today on, the ARM notebook of the rookie is open, and it can be regarded as a place to store these notes. Why publish it? Maybe you are interested in it. In fact, the reason for these notes is ...
  • Learn ARM development(22)
    Turning off and on interrupts Interrupts are an efficient dialogue mechanism, but sometimes you don't want to interrupt the program while it is running. For example, when you are printing something, the program suddenly interrupts and another ...
  • Learn ARM development(21)
    First, declare the task pointer, because it will be used later. Task pointer volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • Learn ARM development(20)
    With the previous Tick interrupt, the basic task switching conditions are ready. However, this "easterly" is also difficult to understand. Only through continuous practice can we understand it. ...
  • Learn ARM development(19)
    After many days of hard work, I finally got the interrupt working. But in order to allow RTOS to use timer interrupts, what kind of interrupts can be implemented in S3C44B0? There are two methods in S3C44B0. ...
  • Learn ARM development(14)
  • Learn ARM development(15)
  • Learn ARM development(16)
  • Learn ARM development(17)
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号