+ 66

Programming Norms - Working in a team.

Teamwork is a basic thing. Most of us know how to get along with each other, but when it comes to a team of programmers, everyone of us have our different coding styles and naming conventions. What does it take for a group of programmers to be able to work on the same piece of code without conflicting code sections which will cause underlying and implicit errors? Is it compulsory for strict rules to be enforced? Would these rules, in turn, incur a negative effect of restricting programmer potential?

8th Mar 2017, 2:15 PM
Hatsy Rei
Hatsy Rei - avatar
19 Réponses
+ 59
tl;dr Do pair programming, use code style checkers, rules benefit the group as a whole When you first form a team, you should agree on some ground rules as well as your team's coding standards. A good way to solve disputes is to first appoint a leader, who has the final say in every decision. You could use some special software which checks your code style like ReSharper. Pair programming can also help. One person codes for a bit and the second person reviews. Then they switch roles. If you split your program into distinct parts (e.g. Business Logic, User Interface), you could have separate sub-teams which may have their own style. Rules should be enforced. If programmer X works on a piece of code with a unique style and then leaves the team, no one else will be able to understand the code without a lot of effort. (Documentation would also help here too) It will restrict individual potential slightly, but the positive productivity of the group outweighs that. (Oops, I wrote too much)
8th Mar 2017, 2:42 PM
Jafca
Jafca - avatar
+ 36
@Hatsy but we have to know as 9 women can't make baby in one month, so putting more programmers won't make it fast and better. As you, @Jafca and @Luka said making rule and leader may help in any project.
8th Mar 2017, 4:34 PM
Ram chandra Giri
Ram chandra Giri - avatar
+ 31
I think everything that's said so far is absolutely true... That needs a lot of small things, like a code style guide, a tool, which can check if everyone follows the style guide, a tool for versioning to merge conflicting changes and most important for me: frequently code reviews (also for having all team members at one level of knowledge). I like the code reviews best, because there's always someone who knows a better way, when your kind of 'code blind' ^^
8th Mar 2017, 7:37 PM
Tashi N
Tashi N - avatar
+ 20
Collab skills: validation....ability to affirm others' contributions..can be a nod or "good" etc. doesnt have to be long listening...ability to actively listen to their thoughts/comments positive attitude...frame everything with expectation of reaching goal own your s.....when you make a mistake or have a weakness acknowledge it frame/define the problems so all can see seek/share resources for all team members
12th Mar 2017, 4:26 PM
‎‏‎‏‎Joe
‎‏‎‏‎Joe - avatar
+ 15
@daevaunn Post a new question and describe your problem in detail.
10th Mar 2017, 6:18 AM
Tashi N
Tashi N - avatar
+ 15
I've been thinking about this a lot...thank you for your well framed question and careful answers Hatsy, Tashi, Luka, Jafca.
10th Mar 2017, 11:40 PM
‎‏‎‏‎Joe
‎‏‎‏‎Joe - avatar
+ 11
All the great in a software firm or a firm of software developers always had one thing in common..... That was a Awesome hardworking supportive die hard Team
9th Mar 2017, 4:58 PM
Yash Raghava
Yash Raghava - avatar
+ 8
When there is a team leader, it will be more easier to follow the rules.
9th Mar 2017, 5:03 PM
Alao Samuel Mofifoluwa
Alao Samuel Mofifoluwa - avatar
+ 8
divide workload based on team mates strength and specialties. Not everyone is good at everything but all are good at something so use that.
10th Mar 2017, 5:28 AM
Yazun
+ 8
Pair programming to understand each other's styles. in larger teams, cross pairing.
10th Mar 2017, 8:07 AM
AMYoung
AMYoung - avatar
+ 8
Here is were modularity comes into the picture. The whole code is split into small modules enabling all the team members to work on the modules assigned to the them by their team leader. This helps in finishing big projects faster.
11th Mar 2017, 1:07 AM
Surya Vamsi
Surya Vamsi - avatar
+ 8
Whenever differences are involved in a single cause, I believe standardization will ensure most probable conflicts are avoided, and a team mindset is adopted. Rules are necessary to mark a scope of freedom whilst strictly preventing unnecessary or explicitly unwanted occurrences. I don't think potential is affected as it remains a discrete quality, but I think coding habits are basically what's affected in teamplay. Also having the big picture clearly understood helps know exactly what the endgame is and causes the team to prospect and build on each others ideas toward the common endgame.
11th Mar 2017, 7:31 AM
Dickson Osure
Dickson Osure - avatar
+ 8
I heard that pair programing can be usefull if programers are switch every 10-15 minuts. If one in pair programing too long another one start to think vary diferent things than code. Do You agree?
11th Mar 2017, 1:46 PM
Grzegorz R. Kulesza
Grzegorz R. Kulesza - avatar
+ 7
Rules, Just talk to each other and place the basics, take it in mind and start to code, don't forget take a look the code searching some bad things...
9th Mar 2017, 7:19 PM
Cristyan Vergara Pineda
Cristyan Vergara Pineda - avatar
+ 6
Modularization, I think.
9th Mar 2017, 4:11 PM
王鹏
王鹏 - avatar
+ 3
groupwork
12th Mar 2017, 6:25 PM
akash gupta
akash gupta - avatar
+ 2
Hi guys.... I'm new here... What are the thing that I require before starting...?
12th Mar 2017, 3:11 PM
Nikita
Nikita - avatar
+ 2
Team work is best. Because human mentality is good in finding others errors so, when we work in team then we can easily find our errors. And when we know the errors we can solve them.
8th Mar 2019, 8:21 AM
ursmaheshj
ursmaheshj - avatar
+ 1
together we stand stronger💪🏼
17th Feb 2020, 9:26 PM
Mohammed Abba Kaka
Mohammed Abba Kaka - avatar