3 ms·
I apply the scream test when refactoring. Comment out a feature and wait until someone complains. After half a year or a year start removing things. Works prett
by Ididntdothis 7y ago
I apply the scream test when refactoring. Comment out a feature and wait until someone complains. After half a year or a year start removing things. Works pretty well. This works better with internal systems. I wouldn't do it with external customers or at least only with a lot of thought.
- mannykannot 7y agoYou may end up unable to remove features that are now only used because they provide a workaround to the damage you did earlier.
- Ididntdothis 7y agoThis may still be a win if the removed feature was one that made future changes difficult. The code bade I spend a lot of time working on has some old/weird features that it seems exist only to be tested but nobody is using them. But when asking the users you rarely get told to go ahead with removal.
- davinic 7y agoThis is a false dichotomy. If you're unsure of usage you could just instrument your code to log method calls and use that analysis to inform what maybe should be removed, but only if you first understand why.
- Ididntdothis 7y agoThis is client software. I am not getting any logs.
- marcosdumay 7y agoOnce somebody screams, you can dig why and fix the underlying problem. I imagine that none of the people criticizing the idea worked for long on any large organization.
- mannykannot 7y ago> I imagine that none of the people criticizing the idea worked for long on any large organization. Or what they worked on was too important for this risk to be taken. In my case, people could have literally screamed.
- marcosdumay 7y agoYes, if it's really important, you don't remove it without a lot of digging. That's the the OP posted two contradictory principles.
- rwbhn 7y agoWhen using this technique, don't forget to account for infrequent processes - quarterly/annual reviews/audits, for example.
- twic 7y agoI go through a regular cycle of this at work. Hit a quarter end, encounter some weird thing which only happens at quarter end, add a special case to handle it, a month later, forget about it, delete it, hit another quarter end ...
- Ididntdothis 7y agoObviously.
- davinic 7y agoThis is perhaps the worst idea I've ever heard.