3 ms·
You can do this more efficiently and for the entire code base at once by using code visualization tools: CodeCity [1]. A city represents a code base. Each clas
by Monkeyget 12y ago
You can do this more efficiently and for the entire code base at once by using code visualization tools:
CodeCity [1]. A city represents a code base. Each class is represented as a building. The aspect of a building gives information on the corresponding class. For example: the color is the number of lines, the height is the number of methods and the width is the number of attributes.
System Complexity View and Class Blueprint [2]. Like CodeCity the color and shape represent various attributes. An added benefit compared to the codecity is that you can also show links between the code elements. For example inheritance or invocation.
NDepend [3] for .NET also has many interesting code diagrams.
[1] http://www.inf.usi.ch/phd/wettel/codecity.html http://www.inf.usi.ch/phd/wettel/codecity.html
[2] http://www.moosetechnology.org/docs/polymetricviews http://www.moosetechnology.org/docs/polymetricviews
[3] http://www.ndepend.com/Features.aspx#Diagrams http://www.ndepend.com/Features.aspx#Diagrams
- saganus 12y agoThat CodeCity idea is very very interesting.
- jagtesh 12y agoApparently, it's not just an idea: http://www.inf.usi.ch/phd/wettel/codecity.html http://www.inf.usi.ch/phd/wettel/codecity.html
- saganus 12y agoTrue that. I meant not as an unrealized idea but as in generally, a good idea. I did check out the software but unfortunately it's not for commercial use. Still, neat way of analyzing code.
- anigbrowl 12y agoI don't understand why tools like this aren't built into every editor. Syntax highlighting and code folding are great, but those are ~30 year old innovations; adopting the 'blurry text' approach of the OP (where you can't read specific things), consider the general lack of visualization tools for utterly basic things like loops and branches. How come we don't automatically generate function flowcharts, for example? I use a lot of flow-based programming tools for DSP and the more time that goes by the more perverse the text fetish of many programmers appears, like a statistician that hates graphs and insists everything has to be presented in tables.
- nsajko 12y agoProbably because editors are editors and not code visualization tools? I hear it is good practice to separate code and programs to minimal but purposeful components. "Do one thing and do it well."
- anigbrowl 12y agoFine, every IDE then. I don't mean to be snippy but I remember similar objections in the late 80s/early 90s to syntax highlighting on the grounds that it was a crutch to lazy/incompetent programmers, and now I think you'd be hard-pressed to find anyone who doesn't take it for granted.
- reeses 12y agoYou had me at 'syntax'. The fact that we're still typing crap into windows and calling advances along this one-dimensional path 'innovation' is pain. Intentional[1] had a lot of promise but was too slow off the mark and now feels more like BPML, which has too much XML hiding under the covers to be good. As it stands, making solution development easier for business users has not had a broad impact on the overall productivity of developers. 'Blub' assumes existence on a continuum of language. It's a limiting concept in itself, as many of us have a different internal representation of thought. It's sad to read about "python stuff for swift" or "haskell stuff for scala" when the only advantage of those exercises is as homework to understand the concepts. [1] http://www.intentionalsoftware.com/ http://www.intentionalsoftware.com/