Code mapping in .NET (o in generale)

3

Esiste una soluzione software di qualche forma che ha la capacità di mappare le azioni di chiamata a una funzione.

Quindi intendo dire, diciamo che abbiamo la seguente classe.

public class Foo
{
    public Foo()
    {
       if (this.SomeProperty)
       {
           DoSomething();
       }
    }

    private void DoSomething()
    {
        var Bar = new Bar();
        Bar.DoSomethingElse();
    }
}

public class Bar
{
    public void DoSomethingElse()
    {
        //call something else or whatever here.
    }
}

Ci sarebbe qualcosa che genererebbe un diagramma di flusso (o una sorta di mappa di sorta) di questo se dovessi dire, cosa significa creare un Foo do?

Te lo chiedo perché gran parte della nostra base di codice è stata scritta al volo senza alcun tipo di documentazione, e sto solo cercando di aiutare a delineare alcuni comportamenti e assicurarmi che siano tutti compresi.

    
posta msarchet 11.07.2011 - 21:50
fonte

3 risposte

3

doxygen funziona bene, per molte lingue diverse

Dal sito web:

tool for generating documentation from annotated C++ sources, but it also supports other popular programming languages such as C, Objective-C, C#, PHP, Java, Python, IDL (Corba and Microsoft flavors), Fortran, VHDL, Tcl, and to some extent D.

Doxygen can help you in three ways:

  1. It can generate an on-line documentation browser (in HTML) and/or an off-line reference manual (in LaTeX) from a set of documented source files. There is also support for generating output in RTF (MS-Word), PostScript, hyperlinked PDF, compressed HTML, and Unix man pages. The documentation is extracted directly from the sources, which makes it much easier to keep the documentation consistent with the source code.
  2. You can configure doxygen to extract the code structure from undocumented source files. This is very useful to quickly find your way in large source distributions. Doxygen can also visualize the relations between the various elements by means of include dependency graphs, inheritance diagrams, and collaboration diagrams, which are all generated automatically.
  3. You can also use doxygen for creating normal documentation (as I did for the doxygen user manual and web-site).

Doxygen is developed under Mac OS X and Linux, but... it runs on most other Unix flavors as well. Furthermore, executables for Windows are available....

    
risposta data 18.12.2018 - 10:44
fonte
1

Puoi controllare NDepend link non esattamente quello che vuoi ma chiudere. Un buon aiuto per l'immersione in sistemi complessi.

NDepend ti offre un modo per analizzare le dipendenze usando grafici e matrici. Ha anche un sacco di metriche prefabbricate e puoi anche usare Linq per creare query di codice.

    
risposta data 12.07.2011 - 08:47
fonte
0

Non l'ho ancora ampiamente utilizzato, tuttavia sembra che UModel di Altova faccia proprio questo. Ho creato personalmente alcuni di questi diagrammi dal codice con la versione di prova di questa applicazione.

Ho finito per acquistare lo strumento in base alla mia esperienza di prova e sembra essere lo strumento giusto per me poiché automatizza gran parte della costruzione del diagramma.

    
risposta data 12.07.2011 - 00:08
fonte

Leggi altre domande sui tag