Big project for 2000+ files. I tried to create a dependency diagram in VS2013, but something does not build it due to errors. Tell me what tools and tools can be used to understand the structure of the project.

It is closed due to the fact that it is necessary to reformulate the question so that it is possible to give an objectively correct answer by the participants Yuriy Spb , Dmitriy Simushev , Aries , Dmitry D. , ermak0ff Sep 27 '15 at 12:04 .

The question gives rise to endless debates and discussions based not on knowledge, but on opinions. To get an answer, rephrase your question so that it can be given an unambiguously correct answer, or delete the question altogether. If the question can be reformulated according to the rules set out in the certificate , edit it .

    1 answer 1

    You just need to have a general idea of ​​what the project is doing and what its main components are doing. That is, you need to have an understanding at the top level of the abstraction of this project, what it does, and how it works.

    For this, of course, it is necessary to get acquainted with its description and relevant documentation.

    With regard to the study of code, the code makes sense to study only the one with which you are directly dealing. That is, for example, if you need to make changes to any module, then you are studying those module functions that are potentially associated with changes. It is desirable to have a connection with the programmer who previously wrote this module or at least introduced the logic that you have to change to the module, or with the programmer who has a deeper understanding of the structure of the project and its functionality.

    When you make changes to a module, you yourself will become an expert on this module and its functionality. :)

    For such large projects, each programmer is a narrow specialist with the exception of those programmers who are project architects. And in principle, it is not even necessary to know what the whole project is doing. It is enough to know a narrow circle of those specialized tasks with which you deal in the part of the project that you were targeted at.

    Imagine: there is a Windows development project. As a programmer, all you need to know is that Windows is an operating system. :) And you yourself will, for example, be responsible for developing the explorer, and in the explorer itself - for its graphical interface.

    • Thanks for the answer. The project is abandoned, the documentation is 0, so I'm trying to create a code map using VS2013, for a better understanding of the architecture. - alexgdi
    • one
      @alexgdi Sorry, I don’t understand how a project in more than 2000 files can be thrown, unless of course you exaggerate the number of files? This only suggests that you are dealing with some rogues who should not be dealt with. - Vlad from Moscow