Là so với có thể
Theo khuyến nghị quy ước đặt tên của Microsoft , cả "Is" và "Can" đều ổn (và "Has") là tiền tố của Boolean.
Trong tiếng Anh đơn giản, "Is" sẽ được sử dụng để xác định một cái gì đó về chính loại đó, chứ không phải những gì nó có thể làm. Ví dụ, IsFixed
, IsDerivedFrom
, IsNullable
đều có thể được tìm thấy trong các loại CLR và phương pháp. Trong tất cả các trường hợp này, "Is" được theo sau bởi một tính từ .
Trong khi đó, "có thể" rõ ràng hơn cho thấy một khả năng, ví dụ như CanEdit
, CanRead
, CanSeek
. Trong mỗi trường hợp này, có thể được theo sau bởi một động từ .
Vì "Hỗ trợ" là một động từ, tôi nghĩ trong trường hợp của bạn CanSupportContentType
là tốt hơn.
Thay thế ngắn hơn
Mặt khác, các quy ước nói rằng tiền tố là tùy chọn. Hơn nữa, thật là vui khi đưa loại đối số vào tên phương thức, vì nhà phát triển có thể thấy loại đối số trong intellisense. Vì vậy, bạn có thể chỉ cần đặt tên cho phương thức của bạn Supports
và định nghĩa nó như thế này:
public bool Supports(System.Net.Mime.ContentType contentType)
... Đó là ngắn hơn và vẫn rõ ràng truyền đạt mục đích. Bạn sẽ gọi nó như thế này:
ContentType contentType = new ContentType("text/plain");
var someClass = new MediatorsClass();
bool ok = someClass.Supports(contentType);
Hoặc như một sự thỏa hiệp có lẽ điều này là tốt nhất:
public bool CanSupport(System.Net.Mime.ContentType contentType)