" (This also applies to the DRY principle. Don't worry about it so much. Feel free to duplicate.)"
The sort of advice followed by programmers when building systems that will accumulate heavy technical debt that someone else will eventually have to sort out.
application of DRY can also accumulate technical debt.
The main thing is communication - duplicate, but put comments in both places regarding the duplication so they can be merged if they haven't diverged after time.
This is also why I dislike "no comments in code" principles - communication is key, and there are some things only plain English can convey; If all your comments are code, you aren't communicating enough!
The sort of advice followed by programmers when building systems that will accumulate heavy technical debt that someone else will eventually have to sort out.
You will not become a better programmer this way.