As far as refactoring analysis goes, I'm reminded of lunchtime conversations with Jeremy and Jason at Planet Argon about using some kind of s-expression generator to find sections of code with similar signatures. This could maybe help with code-duplication by uncovering code that runs the same but looks different, but perhaps there is more to IDE-based refactoring helpers than I imagine (I never messed with Java more than a cursory look-see.)
To my taste, a heavily-featured IDE sounds like using a WYSIWYG editor for HTML. Anything that keeps my fingers from making the code seems dodgy to me. Chris On 4/24/06, Lennon Day-Reynolds <[EMAIL PROTECTED]> wrote: > On 4/24/06, Logan, Patrick D <[EMAIL PROTECTED]> wrote: > > [...] > > One thing that a Ruby refactoring tool will have to do is understand > > where to find all the code. In Smalltalk this is all done through the > > "image" file which contains the code as well as references to the source > > control information about which versions are used in the application. > > Image-based development makes certain tasks possible which are > extremely difficult with filesystem-driven tools, at least for > highly-dynamic languages such as Ruby. Because the on-disk and > in-memory representations of classes have effectively a one-way > relationship -- i.e., classes are *in most cases* initially created by > interpreting the source files, but they can also be built > programmatically, or modified extensively after loading -- you can't > reliably associate a certain byterange in a source file with a "live" > class or method object. > > I'm still not sure how you could ever do auto-completion in a Ruby IDE > without separately annotating your classes, or implementing some > standard meta-object protocol that returned a list of methods at > runtime based on context. The widespread use of #method_missing makes > any simple parsing-based analysis woefully incomplete, especially > given its importance in key libraries such as ActiveRecord. > > In general, though, I agree that the tools available to Smalltalk > developers are far more mature and featureful; to be fair, though, > they have had several decades more time to build them. > > -Lennon > _______________________________________________ > PDXRuby mailing list > [email protected] > IRC: #pdx.rb on irc.freenode.net > http://lists.pdxruby.org/mailman/listinfo/pdxruby > -- Chris Anderson http://musicfordozens.com/jchris _______________________________________________ PDXRuby mailing list [email protected] IRC: #pdx.rb on irc.freenode.net http://lists.pdxruby.org/mailman/listinfo/pdxruby
