Prefixes and Suffixes Do Not Belong in Interface Names
Using the I prefix or Interface suffix for interfaces, and Abstract for abstract classes, is an antipattern. It doesn't belong in pure code. Distinguishing interface names actually blurs OOP principles, adds noise to the code, and causes complications while developing. Here are the reasons.
I-prefixes disappear from interface names
In Nette, interfaces were named with the letter I at the beginning (e.g. IRequest). A couple of years ago, an extremely slow and long term process began, which quietly while maintaining backwards compatibility is getting rid of these prefixes. How exactly is this happening and why?