Am 28.05.2011 um 15:35 schrieb Marcus Denker:

> Hi,
> 
> There is *a lot* of dead code in the image.
> 
> I guess around 1/3 of the code base in Core is just not used at all 
> (especially Morphic).
> 
> One thing I would like to do is to put, at the beginning of a development 
> cycle,
> a call
> 
>       self doesAnyOneUseThisTaggedIn: 'pharo 1.3'.
> 
> at the beginning of *all* unsent methods. And keep it even in the released 
> image.
> 
> This way we can, within 2-3 interations, remove *a lot* of dead code.
> 
> Methods where people tell us that they need them, we should tag
> with <api> or <public> or something like that.
> 
I like the idea although I think it is dangerous. I think we could provide a 
layer of backward compatibility. It is dead code so these are things that are 
there but unused. So removing them does not force any other change. A removal 
could be done this way:

- create a monticello package "removal20110529"
- Let a tool that identified a bunch of methods change the method category to 
"*removal20110529"
- store the monticello package
- unload it which will remove the methods.

This way the removals would chronologically stacked in monticello packages. A 
developer can now go back in time if he has problems until the point the code 
works again. Furthermore this would be a documentation when we removed which 
code.

Norbert

Reply via email to