Jednym z najbardziej wymagających zadań dla każdego programisty jest zrozumienie kodu innych użytkowników.Znajomość kodu, inżynieria wsteczna, najlepsze koncepcje i narzędzia. Java
Na przykład jestem wykonawcą, zatrudniony, aby bardzo szybko uratować jakiś projekt. Napraw błędy, planuj globalne refaktoryzacje i dlatego potrzebuję najbardziej skutecznego sposobu na zrozumienie kodu. Jaka jest lista koncepcji, ich priorytet i najlepsze na to narzędzie?
Z tego, co wiem: inżynieria odwrotnego kodu do tworzenia modeli obiektów (tworzenie diagramu na pakiet nie jest tak wygodne), tworzenie diagramów sekwencji (narzędzie łączy się w trybie debugowania z systemem i generuje diagramy ze środowiska wykonawczego). Niektóre techniki wizualizacji, przy użyciu niektórych narzędzi do pracy nie tylko z .java
, ale także z np. JPA
implementatory takie jak Hibernate
. Wygeneruj diagram nie dla całego kodu, ale dodaj kilka klas, a następnie klas używanych przez niego.
Czy Sparx Enterprise Architect jest najnowocześniejszy w inżynierii odwrotnej czy też daleko od tego? Jakieś inne lepsze narzędzia? Idealnie byłoby, gdyby to narzędzie pozwoliło mi zrozumieć kod, tak jakbym sam to napisał :)
Ten? http://www.semdesigns.com/Products/Formatters/JavaBrowser.html – TofuBeer
@TofuBeer: Tak, przepraszam, spartaczyłem link; poprawione również w odpowiedzi. –
Miałem zamiar edytować link ... ale pomyślałem, że powinienem upewnić się, że to było pierwsze :-) – TofuBeer