Is vs Can
Menurut rekomendasi konvensi penamaan Microsoft , "Apakah" dan "Bisa" tidak apa-apa (dan demikian pula "Memiliki") sebagai awalan untuk Boolean.
Dalam bahasa Inggris biasa, "Is" akan digunakan untuk mengidentifikasi sesuatu tentang tipe itu sendiri, bukan apa yang dapat dilakukannya. Sebagai contoh, IsFixed
, IsDerivedFrom
, IsNullable
semua dapat ditemukan dalam jenis CLR dan metode. Dalam semua kasus ini, "Is" diikuti oleh kata sifat .
Sementara itu, "dapat" lebih jelas menunjukkan kemampuan, misalnya CanEdit
, CanRead
, CanSeek
. Dalam setiap kasus ini, dapat diikuti oleh kata kerja .
Karena "Dukungan" adalah kata kerja, saya pikir dalam kasus Anda CanSupportContentType
lebih baik.
Alternatif yang lebih pendek
Di sisi lain, konvensi mengatakan awalan adalah opsional. Terlebih lagi, itu agak curang untuk memasukkan jenis argumen dalam nama metode, karena pengembang dapat melihat jenis argumen di intellisense. Jadi Anda bisa memberi nama metode Anda Supports
dan mendefinisikannya seperti ini:
public bool Supports(System.Net.Mime.ContentType contentType)
... yang lebih pendek dan masih dengan jelas mengomunikasikan tujuannya. Anda akan menyebutnya seperti ini:
ContentType contentType = new ContentType("text/plain");
var someClass = new MediatorsClass();
bool ok = someClass.Supports(contentType);
Atau sebagai kompromi, mungkin ini yang terbaik:
public bool CanSupport(System.Net.Mime.ContentType contentType)