It seems to me that it would be useful to be able to say at a glance that the class is abstract and not intended for direct instantiation, since it is useful to be able to easily identify the interface.
My question is: why is "AFourLeggedAnimal: IAnimal" not caught? Is it just because of a possible confusion (which I just noticed when writing), for example, confusing it as a “four-legged animal” instead of an “abstract FourLeggedAnimal class”? Or is it something more?
Starting with Java in school before C # at work, I found that the naming convention for the "I" prefix is extremely useful when viewing a list of classes, and it seems to me that it would be convenient to distinguish between concrete and non-concrete classes at a glance without having to look at the code.
source
share