We gathered with a friend to write a small toy (to get a hand in joint development), to register as bit business with bitbucket, and here such serious collisions began ... Something that is too big an overhead is obtained to eliminate conflicts. In the end, we decided to do separately.

How is it best to distribute tasks among developers so that they interfere as little as possible with each other ? For example, a script for a 3D object was changed by one person, and the object itself was changed by another person (for example, he deleted it)

Those. from what to make a start? Loosely coupled code? Special architecture? In general, I have a mess in my head, I would like to know in which direction to follow.

Closed due to the fact that the issue is too common for the participants HamSter , VenZell , aleksandr barakin , pavel , Denis Nov 26 Nov '16 at 9:27 .

Please correct the question so that it describes the specific problem with sufficient detail to determine the appropriate answer. Do not ask a few questions at once. See “How to ask a good question?” For clarification. If the question can be reformulated according to the rules set out in the certificate , edit it .

  • one
    A simple option is to do different things and agree on this in advance. Like "I do the first level", "and then I will fasten the second level \ Achivki \ music to drink". - Monk
  • one
    In team development, different people are involved in different parts of the application to minimize conflicts, both version control systems and social ones. - ixSci

1 answer 1

When you two work on a project in the version control system or you just participate in the development of an open source project, this usually happens as follows: the participant makes a fork of the repository into his profile and starts working on it, or if each participant has access to repository with the ability to edit (usually this happens when you work with a team on your own project) then each participant works on his own branch or development branch (usually dev). To avoid problems and collisions are usually divided into different functional. But if two participants work on the same file at the same time, then this usually happens for each participant on separate branches. For example, Ivan and Nikolai are working on the Msin.java file and everyone is trying to modernize / simplify / expand it and then boast their success by doing a pull request to the main branch (let it be master) after that, by satisfying pull request, we can see which files were changed in more detail until adding and deleting rows. This very much allows you to identify the best algorithm for working inside a file, or to tell one of the participants that it’s better to work on their part of the code and not help you anymore. That's about it.