Es vs puede
De acuerdo con las recomendaciones de la convención de nomenclatura de Microsoft , tanto "Es" como "Puede" están bien (y también lo es "Tiene") como prefijo para un booleano.
En inglés simple, "Is" se usaría para identificar algo sobre el tipo en sí, no lo que puede hacer. Por ejemplo, IsFixed
, IsDerivedFrom
, IsNullable
se pueden encontrar en tipos y métodos CLR. En todos estos casos, "Is" es seguido por un adjetivo .
Mientras tanto, "puede" indica más claramente una capacidad, por ejemplo CanEdit
, CanRead
, CanSeek
. En cada uno de estos casos, can es seguido por un verbo .
Como "Soporte" es un verbo, creo que en su caso CanSupportContentType
es mejor.
Alternativa más corta
Por otro lado, las convenciones dicen que el prefijo es opcional. Además, es un poco cursi incluir el tipo de argumento en el nombre del método, ya que un desarrollador puede ver el tipo de argumento en intellisense. Así que podrías nombrar tu método Supports
y definirlo así:
public bool Supports(System.Net.Mime.ContentType contentType)
... que es más corto y aún comunica claramente el propósito. Lo llamarías así:
ContentType contentType = new ContentType("text/plain");
var someClass = new MediatorsClass();
bool ok = someClass.Supports(contentType);
O como compromiso, tal vez esto sea lo mejor:
public bool CanSupport(System.Net.Mime.ContentType contentType)