Dobry wieczór :)
Chciałbym spytać o radę, jak dobrze podjeść / czy są jakieś narzędzia pomocne w przenoszeniu "dość ciężkiego" kodu do nowej aplikacji. Sytuacja wygląda tak: Aplikacja 'dawca' jest napisana w C# WinForms. Jest to aplikacja sterująca pewnym urządzeniem po serialporcie, problem w tym, że protokół komunikacji jest napisany w sposób praktycznie uniemożliwiający zrozumienie, co dana funkcja robi i skąd wzięły się takie wartości, a nie inne. Protokół to między innymi klasa z kilkudziesięcioma metodami o takiej samej nazwie i liczbą na końcu(liczba oznacza typ danej jaka jest wysyłana/odbierana). Metody pobierają dane w sposób lekko mówiąc nie ułatwiający sprawy :/ tzn. odwołanie do propercji innej klasy w której dane z kolejnej propercji(a ta jest zależna od jeszcze kolejnych o.O) są przeliczane w sposób, który zupełnie nic nie mówi(jakieś dzielenia, mnożenia, ify, etc - nie wiadomo dlaczego właśnie takie liczby i operacje), do tego te kolejne odwołania jeszcze pogarszają sprawę, gdyż po którymś przeskoku po getterach/setterach(w prawie każdym jest jakaś modyfikacja wartości) dochodzi do porównania wartości wpisanej z jakimiś wpisanymi w ustawienia widoku(?) stałymi(Settings.Designer.cs) :| Wszelkie nazwy przechodzone po drodze mają nazwy które niewiele mówią.
Nowa aplikacja jest pisana też w C#, ale WPF, stosujemy wzorzec MVVM, ViewModele wydzieliliśmy do osobnej biblioteki(PCL), gdyż planujemy zrobić później appke mobilną i ten nieszczęsny protokół też próbujemy wydzielić do osobnej biblioteki, gdyż napisanie go od nowa jest problematyczne ze względu na brak jakiejkolwiek dokumentacji. Implementacje samej komunikacji są już per-platforma, a protokół ma odpowiadać za zmianę pakietów na dane i z powrotem.
Po tym bardzo długim wstępie pytanie:
Czy są jakieś narzędzie które byłyby wstanie wyciągnąć wszystkie zależności stojące za daną zmienną? Macie może jakieś sprytne metody na radzenie sobie z takimi przypadkami?
PS
Jeśli nieodpowiedni dział forum, to przepraszam :)