Whenever seeing an interface that starts with I, my stomach twists and sort of explosion build up starts to happen in my inner self.
Unable and perhaps unwilling to comprehend why one puts an I before am interface name.
Say you have an Installable, you’d have an IInstallable? Try to read it. Or an IEyeColor. Both sound very seaman style. Aye aye captain. Say you are writing a word-processor and when you make a Paddable, something you can pad left or right, you have an IPaddable ?
Or IPhone…. thus Landline implements IPhone, SamsungS8 implements IPhone ? Seriously..
All IDE’s have visual indications enough that stuff is an interface or an abstract class. Besides you don’t really need to know that you are using an interface. You need to know it’s contract and program to that. What you should be using elsewhere is the interface and not an implementation. Thus name your interfaces sensible and useful to read. Skip the I, (there is no I in team)