Re: Refactoring tools available for Cocoa / ObjC?
Re: Refactoring tools available for Cocoa / ObjC?
- Subject: Re: Refactoring tools available for Cocoa / ObjC?
- From: Marcel Weiher <email@hidden>
- Date: Wed, 3 May 2006 21:36:22 +0100
Hi Greg!
On 3 May 2006, at 17:22, Greg Titus wrote:
In Smalltalk this is done by looking for use of the
#subclassResponsibility method (which was incidentally, declared on
NSObject in OpenStep but apparently dropped for Cocoa).
In addition, the RB appears to look wether the class is actually
instantiated somewhere. In Smalltalk, it has the advantage of the
entire source-code being online, so as I mentioned, the fact that we
have separate compilation is a bit of a problem OTOH, thinking about
it for a bit, your probably wouldn't do a method push-down for a
class you don't have the source code to in the first place, so maybe
it isn't a problem. Class-clusters could also present an issue, but
Note that refactoring assumes - to a certain extent - well-
formedness of the code base you are refactoring. Certainly you
could create a class which ought not to be instantiated but doesn't
use this pattern, and then the automated tool wouldn't find it.
Yep, and the tool would say "sorry, you can't do that because I think
the class isn't abstract". This (a) spots the problem for you and
(b) gives you an incentive to make it well-formed. Heck, it might
even give you clues as to where the problem is, for example self-
sends of messages with no corresponding implementation in the class.
SmallLint does many of these sorts of checks:
http://st-www.cs.uiuc.edu/users/brant/Refactory/LintChecks.html
Just like you could replace all the language keywords with #define
macros to make the language look nothing like C and syntax coloring
wouldn't work. That doesn't make syntax coloring useless.
Precisely.
Cheers,
Marcel
--
Marcel Weiher Metaobject Software Technologies
email@hidden www.metaobject.com
The simplicity of power HOM, IDEAs, MetaAd etc.
1d480c25f397c4786386135f8e8938e4
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden