Operations performed on a string with predictable outcomes should be avoided. For example:
- checking if a string contains itself
- comparing a string with itself
- matching a string against itself
- creating a substring from 0 to the end of the string
- creating a substring from the end of the string
- replacing a string with itself
- replacing a substring with the exact substring