Es común usar '-able' como sufijo para interfaces, por ejemplo
Serializable Imprimible Enumerable Bebible Tirable Giratorio
Estaba pensando que 'Can-' podría ser mejor porque puede ser más descriptivo. Sí, es más prolijo y agrega ruido al nombre de la interfaz. En particular, se pueden usar verbos pasivos.
Por ejemplo, 1 Shootable significa que el objeto puede disparar (un arma podría implementar esto), o significa que puede dispararse (un tablero objetivo podría implementar esto). Con el prefijo 'Can-', el primero sería "CanShoot" y el último sería "CanBeShotAt" o "CanShootAt".
Ej. 2 Un documento 'CanBePrinted' y una impresora 'CanPrint'
¿O deberíamos seguir con '-Able' y dejar que la documentación proporcione el contexto?
Cualquier opinión
class Cannibal implements Can, Able {}