Mapowanie określonych zależności na mapach kodu

Aby zrozumieć zależności określone w kodzie, wizualizować je przez utworzenie kodu map (programu Visual Studio Ultimate tylko).Następnie można przejść te relacje przy użyciu mapy, który jest wyświetlany obok kodu.Ułatwia to śledzenie miejsca w kodzie, podczas pracy.

Mapy kodu — mapa relacji w kodzie

Pokazuje strzałka zielony, gdy kursor pojawi się w edytorze. Można robić notatki na mapie, jak na papierze.

Mapy kodu pomagają uniknąć zagubienia w dużych bazach kodu, w nieznanym kodzie lub w starszym kodzie.Na przykład podczas debugowania możesz chcieć spojrzeć na kod w wielu plikach i projektach.Mapy kodu pomagają w poruszaniu się po fragmentach kodu i obserwowaniu relacji między nimi.Nie trzeba pamiętać całego kodu, śledzić informacji o plikach czy rysować oddzielnego diagramu na papierze.Jeśli trzeba przerwać pracę, mapy kodu pomogą odświeżyć sobie pamięć o kodzie, nad którym pracujesz.

Utwórz lub Otwórz mapę kodu

Aby utworzyć mapę kodu potrzebne programu Visual Studio Ultimate 2013 i rozwiązanie, które ma Visual C# .NET, Visual Basic .NET, X ++ dla programu Microsoft Dynamics AX lub kodu C++ (obsługa ograniczona).Aby uzyskać relacje kolorami, konieczne będzie programu Visual Studio 2013 Update 3.Do mapowania kodu X ++ i kodu, który jest udostępniony w wielu aplikacjach, konieczne będzie programu Visual Studio 2013 Update 2 lub nowszego.

Możesz Tworzenie mapę kodu przez:

  • Prawym przyciskiem myszy element, takie jak pliku źródłowego lub pliku binarnego w Eksploratorze rozwiązań i wybierając polecenie Pokaż na mapie kodu.Spowoduje to utworzenie mapy kodu dla wybranego elementu.

  • Przeciąganie elementu, takie jak pliku źródłowego lub pliku binarnego z Eksploratora rozwiązań na Otwórz mapę kodu, aby uwzględnić i/lub zaznacz element na mapie.

  • Prawym przyciskiem myszy pusty obszar w oknie edytora i wybierając polecenie Pokaż na mapie kodu.Spowoduje to utworzenie nowej mapy kodu puste.

  • Kliknięcie prawym przyciskiem myszy obiektu lub klasy w oknie edytora i wybierając polecenie Pokaż na mapie kodu.Spowoduje to utworzenie mapy kodu dla wybranego elementu.Można również znaleźć wszystkie odwołania i wyświetlić elementy pokrewne na mapie kodu za pomocą tego menu.

  • Kliknij przycisk mapy kodu znajdującego się na Debugowanie menu, gdy aplikacja została wstrzymana.

  • Otwórz plik IntelliTrace, lub jako wykres zależności z architektury menu.

Możesz Wyświetlanie, dokonaj edycji ograniczone, i Przejdź mapy kodu za pomocą programu Visual Studio Premium 2013 lub programu Visual Studio Professional 2013.

Przed udostępnieniem map korzystający z wersji Premium lub Professional, upewnij się, że wszystkie elementy na mapie są widoczne, takich jak elementy ukryte, rozwiniętej grupy i łącza cross grupy.

Obejrzyj map kodu w akcji: Opis złożonego kodu za pomocą mapy kodu (Channel 9)

Omówienie problemu

Przypuśćmy, że w programie graficznym, nad którym pracujesz, znajduje się błąd.Aby odtworzyć dany błąd, otwórz rozwiązanie w programie Visual Studio Ultimate, a następnie naciśnij klawisz F5, aby uruchomić debugowanie.

Po narysowaniu linii i wybraniu polecenia Cofnij moje ostatnie pociągnięcie, aż do rysowania następnej linii nic się nie dzieje.

Mapy kodu — odtworzenia usterki

Tak więc należy rozpocząć badanie od wyszukania metody Undo.Znajdziesz go w klasie PaintCanvas.

Mapy kodu — Znajdź kod

Uruchamianie mapowania kodu

Teraz możesz rozpocząć mapowanie undo metody i relacje.Z edytora kodu dodaj metodę undo i pola, do których się odwołuje, do nowej mapy kodu.Podczas tworzenia nowej mapy może trochę czasu może zająć indeksowanie kodu.Dzięki temu następne operacje działają szybciej.

Mapy kodu — metody Show i pola pokrewne

PoradaPorada

Zielone podświetlenie pokazuje ostatnie elementy dodane do mapy.Zielona strzałka wskazuje pozycję kursora w kodzie.Strzałki między elementami reprezentują różne relacje.Można uzyskać więcej informacji o elementach na mapie, badając ich etykiety narzędzi.

Mapy kodu — Pokaż etykietki narzędzi

Nawigowanie i sprawdzanie kodu z mapy

Aby zobaczyć definicję kodu dla każdego pola, kliknij dwukrotnie pole na mapie lub wybierz pole i naciśnij klawisz F12.Zielona strzałka przesuwa się między elementami na mapie.Kursor w edytorze kodu również przesuwa się automatycznie.

Mapa kodu — należy sprawdzić, czy definicji pola

Mapa kodu — należy sprawdzić, czy definicji pola

PoradaPorada

Zieloną strzałkę na mapie możesz również przesunąć, przesuwając kursor w edytorze kodu.

Omówienie relacji między fragmentami kodu

Teraz chcesz wiedzieć, który inny kod współdziała z history i paintObjects polami.Możesz dodać do mapy wszystkie metody odwołujące się do tych pól.Możesz to zrobić z mapy albo z kodu.

Mapa kodu — Znajdź wszystkie odwołania

Zmień układ, aby przeorganizować przepływ relacji i poprawić czytelność mapy.Elementy na mapie możesz również przesuwać, przeciągając je.

Mapy kodu — zmiana układu

PoradaPorada

Domyślnie opcja Układ przyrostowy jest włączona.Dzięki temu mapa jest reorganizowana w możliwie najmniejszym stopniu przy dodawaniu nowych elementów.Aby zmienić mapę przy każdym dodawaniu nowych elementów, należy wyłączyć opcję Układ przyrostowy.

Mapy kodu — zmiana układu

Zbadajmy te metody.Na mapie, kliknij dwukrotnie metodę PaintCanvas lub wybierz tę metodę i naciśnij klawisz F12.Możesz dowiedzieć się, że ta metoda tworzy history i paintObjects jako puste listy.

Mapa kodu — należy sprawdzić, czy metoda definicji

Teraz powtórz te same kroki, aby zbadać clear definicję metody.Możesz dowiedzieć się, że clear wykonuje pewne zadania z paintObjects i history.Następnie wywołuje Repaint metodę.

Mapa kodu — należy sprawdzić, czy metoda definicji

Teraz zbadaj addPaintObject definicję metody.Wykonuje także niektóre zadania z history i paintObjects.Wzywa także Repaint.

Mapa kodu — należy sprawdzić, czy metoda definicji

Znajdowanie problemu poprzez analizowanie mapy

Wydaje się, że wszystkie metody, które modyfikują history i paintObjects wywołania Repaint.Metoda undo nie została jeszcze wywołana Repaint, nawet jeśli undo modyfikuje te same pola.Myślisz więc, że możesz rozwiązać ten problem, wywołując funkcję Repaint z metody undo.

Mapy kodu — Znajdź brakujące wywołanie metody

Nie mając mapy, z której wynika, że brak tego wywołania, znalezienie problemu mogłoby być trudniejszy, zwłaszcza przy bardziej skomplikowanym kodzie.

Przekazanie ustaleń innym osobom i następne kroki

Zanim Ty lub ktokolwiek inny rozwiąże ten problem, można robić na mapie notatki dotyczące problemu i sposobach jego rozwiązania.

Mapy kodu — komentarz i flagi elementy do — Flaga monitująca

Na przykład możesz dodać komentarze do mapy i flagować elementy przy użyciu kolorów.

Mapy kodu — komentarze i oflagowanych elementów

Jeśli masz zainstalowany program Microsoft Outlook, możesz wysłać mapę do innych osób pocztą e-mail.Mapę możesz również wyeksportować jako obraz lub w innym formacie.

Eksportuj mapy - udziału, kod, poczty

Rozwiązanie problemu i pokazanie innym, co zostało zrobione

Aby rozwiązać ten problem, należy dodać wywołanie dla Repaint do undo.

Mapa kodu — Dodaj brakujące wywołanie metody

Aby potwierdzić rozwiązanie problemu, ponownie uruchom sesję debugowania i spróbuj odtworzyć błąd.Teraz wybieranie Cofnij Moje ostatnie pociągnięcie działa zgodnie z oczekiwaniami i potwierdza wykonane prawidłowej poprawki.

Mapa kodu — potwierdzenie poprawka kodu

Możesz zaktualizować mapę, aby pokazać wprowadzoną poprawkę.

Mapy kodu — Mapa aktualizacji z powodu braku wywołanie metody

Mapa obecnie pokazuje łącze między Cofnij i Maluj ponownie.

Mapy kodu — Mapa zaktualizowane przez wywołanie metody

[!UWAGA]

Po zaktualizowaniu mapy, może pojawić się komunikat o zaktualizowaniu indeksu kodu użytego do utworzenia mapy.Oznacza to, że ktoś zmienił kod, co powoduje, że mapa nie pasuje do bieżącego kodu.Nie zatrzymuje to aktualizowania mapy, ale może być konieczne ponowne utworzenie mapy w celu potwierdzenia, że pasuje do kodu.

Dochodzenie zostało zakończone.Problem został znaleziony i rozwiązany pomyślnie dzięki mapowaniu kodu.Istnieje również mapa pomagająca w nawigowaniu po kodzie, zapamiętaniu nowych informacji, a także pokazująca kroki, które zostały podjęte w celu rozwiązania problemu.

Zobacz też

Koncepcje

Metody mapowania dla stosu wywołań podczas debugowania w programie Visual Studio.

Tworzenie wizualizacji kodu