While the whole software development world uses incremental development processes I seem to practive opposite approach which the team calls "Decremental Programming". One of the last refactorings for 1.5 was conversion from interface to abstract class. I started off with a great swiss army knife-like code which could also give new name to the converted class and had option to leave interface and just insert additional level of abstraction between it and its inheritors (I found it useful when a developer wants to share some code between all interface implementations). But after discussion we first cut the option and then the ability to change the name. This resulted in decremental changes in code: I removed the functionality from the actual refactoring code making is clearer. If you find you really need these features I strongly encourage you to post a request to the tracker to we could discuss it. Similar changes I do now for code completion and other subsystems (without reducing functionality, just some clean-up) before starting bugfixing race for 2.0.
Posted by Oleg Stepanov at January 26, 2005 06:25 PM | TrackBack