Foto av Johan Eltes

Avslöja cirkulär beroenden mellan Java-paket

// Johan Eltes

Alla UML-verktyg jag använt vid kod-reviewer har saknat möjligheten att visualisera beroenden mellan paket. Efter reverse-engineering av källkoden för projektet som ska granskas, visas alla beroende mellan klasser snyggt och prydligt. Men trots att man på klassnivå kan se att det finns beroenden mellan klasser i två olika paket, lyser “—>” (Dependency)-associationen med sin frånvaro när jag backar upp till paket-nivå. Det finns säkert något modelleringsverktyg som fixar detta, men jag har i vart fall gått bet så här långt.

Men nu behöver jag inte manuellt rita pilar mellan paketen längre. Den utmärkta eclipse-plugin:en ispace gör jobbet med den äran! Den kan varmt rekommenderas för kod- och design reviewer av befintlig Java-kod. Den visar beroenden mellan klasser, Java-paket och jar-filer i grafisk form. När man upptäcker ett oväntat beroende på högsta nivån i paketstrukturen, kan man be “pilen” i fråga att “borra sig ner” i paketen i respektive ända av pilen, tills man är nere på klass-nivå. Ondskefulla cirkulära beroenden (d.v.s. alla cirkulära beroenden) betonas föredömligt med ilsket röd färgsättning. En lättanvänd plug-in som gör en enda sak och dessutom gör den riktigt bra!

Om du, kära läsare, har tips på hur man åstadkommer samma sak i något av UML-verktygen - kommentera gärna denna artikel!

Kommentarer