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