Tim\'s picture      Blogging Ottinger (tim)

2005-November-18

Navigation Aids

Filed under: Programming

I’ve been working in unfamiliar code, and it has me thinking about navigational aids.

In Linux, I’d be using exuberant ctags and gvim and grep and perhaps a few other text tools. Ctags builds a nice index and vim can use them to jump from file to file and method to method (class to class). When you add window-splitting multiple buffers, and vim’s built-in directory navigation, it’s not a bad system. The Emacs guys had a whole IDE built into their editor.

Now I’m looking at VisualStudio and Resharper and those have some nice navigational aids as well. Some of the nicest are those provided by resharper. I can press ^N to popup an entry dialog, where I can enter a class name (with wildcards and intellisense) and it will take me to the class. This is a lot like the :tag commands in gvim. Another trick is the ^B to go to the item under the cursor (like ^] in vim). Of course, it’s handy sometimes to grep the tags files too, and I don’t know a good replacement for that. Of course, these are mostly good when you know what class or method you’re looking for.

When you don’t know, it’s a little harder. There are find/find-in-files options, and the search scope can be set for the whole solution. Not too bad if you know what to search for. One can use the navigation aids to also search to base classes, derived classes, or callers. This is nice stuff. Sometimes I yearn for some kind of tool that could derive diagrams, maybe showing inheritance trees, but more often it would be useful to showing instance arrangements (object diagrams) as drill-down points. Sometimes seeing the runtime arrangement of objects is the best starting point. But otherwise, these are pretty good navigational aids.

Still it’s not always enough — sometimes there is plenty of information you have to hold in your head. If you don’t really see the structure, it’s hard to know what to look for and where to look for it. But that’s a different story.

Comments »

The URI to TrackBack this entry is: http://tottinge.blogsome.com/2005/11/18/navigation-aids/trackback/

No comments yet.

RSS feed for comments on this post.

Leave a comment

Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>



Anti-spam measure: please retype the above text into the box provided.

Get free blog up and running in minutes with Blogsome | Theme designs available here