La comunidad C # ha utilizado de manera tan ubicua el prefijo "I" para denotar una interfaz que incluso los programadores más inexpertos saben usar.
¿Por qué entonces no prefijamos enumeraciones, clases abstractas o estructuras (posiblemente con "E", "A" y "S" respectivamente)?
Por ejemplo, si marcamos todas las clases abstractas con una "A", proporcionaría información valiosa sobre ese tipo que, aunque podría inferirse, no es inmediatamente obvio.
Tenga en cuenta que no estoy abogando por este cambio, solo estoy tratando de entender por qué no hacemos las cosas de esta manera.
Este hilo responde por qué usamos el prefijo "I" pero no responde por qué no usamos otros prefijos.