• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag
 

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Refactoring tools available for Cocoa / ObjC?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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
References: 
 >Refactoring tools available for Cocoa / ObjC? (From: "Eric Lin" <email@hidden>)
 >Re: Refactoring tools available for Cocoa / ObjC? (From: Marcel Weiher <email@hidden>)
 >Re: Refactoring tools available for Cocoa / ObjC? (From: "Eric Lin" <email@hidden>)
 >Re: Refactoring tools available for Cocoa / ObjC? (From: Ondra Cada <email@hidden>)
 >Re: Refactoring tools available for Cocoa / ObjC? (From: Marcel Weiher <email@hidden>)
 >Re: Refactoring tools available for Cocoa / ObjC? (From: Ondra Cada <email@hidden>)
 >Re: Refactoring tools available for Cocoa / ObjC? (From: Marcel Weiher <email@hidden>)
 >Re: Refactoring tools available for Cocoa / ObjC? (From: Ondra Cada <email@hidden>)
 >Re: Refactoring tools available for Cocoa / ObjC? (From: Horst Hoesel <email@hidden>)
 >Re: Refactoring tools available for Cocoa / ObjC? (From: Ondra Cada <email@hidden>)
 >Re: Refactoring tools available for Cocoa / ObjC? (From: Greg Titus <email@hidden>)
 >Re: Refactoring tools available for Cocoa / ObjC? (From: Ondra Cada <email@hidden>)
 >Re: Refactoring tools available for Cocoa / ObjC? (From: Greg Titus <email@hidden>)

  • Prev by Date: Re: Keyboard short-cuts edit field
  • Next by Date: NSEvent isEqual
  • Previous by thread: Re: Refactoring tools available for Cocoa / ObjC?
  • Next by thread: Re: Refactoring tools available for Cocoa / ObjC?
  • Index(es):
    • Date
    • Thread