Code understanding, reverse engineering, best concepts and tools. Java.
        Posted  
        
            by core07
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by core07
        
        
        
        Published on 2010-04-17T11:05:56Z
        Indexed on 
            2010/04/17
            11:13 UTC
        
        
        Read the original article
        Hit count: 344
        
One of most demanding tasks for any programmer, architect is understanding other's code. E.g. I am contractor, hired to rescue some project very quickly. Fix bugs, plan global refactoring and therefore I need most efficient way to understand the code. What is the list of concepts, their priority and best tools for this? Of what I know: reverse code engineering to create object models (creating of diagram per package is not so convenient), create sequence diagrams (the tool connects in debug mode to the system and generates diagrams from runtime). Some visualizing techniques, using some tools to work not just with .java but also with e.g. JPA implementors like Hibernate. Generate diagram for not all the codebase, but add some class and then classes used by it. Is Sparx Enterprise Architect state of the art in reverse engineering or far from that. Any other better tools? Ideally would be that tool makes me understand the code as if I wrote it myself :)
© Stack Overflow or respective owner