On Jan 11, 2010, at 9:59 13AM, Mariano Martinez Peck wrote:

> Hi folks:  As part of my PhD I started to work with ImageSegment. This week I 
> clean up all the stuff related to class discovery from there. I then wanted 
> to put that extracted code in a separate class. I didn't like that code at 
> all, so at the end I finished rewriting completely this stuff.
> 
> The cool thing is that:
> 
> - I remove all that stuff from ImageSegment (which has nothing to do with 
> that)
> - I remove that stuff from classes like Behavior and ClassDescription
> - I put all these as an external package that can be perfectly loaded in core
> - I rewrote that in style that I like much more. At least for me, it is much 
> more easy to understand and to use now
> - I wrote test cases
> - I wrote good class comment. 
> 
> The repository is: http://www.squeaksource.com/ClaseUseDiscovery
>  and the license is MIT.
> 
> It is a little project, but maybe someone find it useful. This project only 
> works with Pharo images newer than 1.1  version 11142
> 
> I paste here the class comment of CUDClassesUseDiscoverer:
> 
> Cheers
> 
> Mariano
> 
> 
> 
> 
> This approach of swapping out inactive classes have two big problems:
> 
> - The granularity is too high: the class. As soon as only one method is 
> invoked, the whole class is recovered. 
> - It is very common to recover all classes doing a simple action. For 
> example, searching for implementors or senders of a certain method. Because 
> of this, when you are developing in your Smalltalk image is very likely that 
> all classes are recovered in less than 5 minutes of work. It is not useful. 
> Browsing or editing code seems not to be a problem, thus. Maybe this approach 
> has more sense in production images rather than development. 

I guess the next tool you'll make is CUDMethodUseDiscover? ;)

Good job, and good luck!

Cheers,
Henry
 
PS. like in MessageTally, maybe a useful constructor method would be one taking 
a block as argument, and running trace during its execution?
_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to