The wrong abstraction | Hugonweb Annotated Link Bibliography

https://sandimetz.com/blog/2016/1/20/the-wrong-abstraction

A good sign of an abstraction, e.g function, that needs to be replaced by copy-pasted code is one with boolean flag parameters. It's probably better to "inline" the code back to the call site, and then see what parts of it, if any, are still shared and make a new abstraction.