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
