เป็นกับ Can
ตามคำแนะนำแบบแผนการตั้งชื่อของ Microsoftทั้ง "Is" และ "Can" นั้นใช้ได้ (เช่นนั้นก็คือ "Has") เป็นส่วนนำหน้าสำหรับ Boolean
ในภาษาอังกฤษแบบธรรมดา "Is" จะถูกใช้เพื่อระบุบางสิ่งเกี่ยวกับประเภทของตัวเองไม่ใช่สิ่งที่สามารถทำได้ ตัวอย่างเช่นIsFixed
, IsDerivedFrom
, IsNullable
ทั้งหมดจะสามารถพบได้ในประเภท CLR และวิธีการ ในทุกกรณีเหล่านี้ "คือ" จะตามด้วยคำคุณศัพท์
ขณะที่ "สามารถ" ชัดเจนมากขึ้นแสดงให้เห็นความสามารถเช่นCanEdit
, ,CanRead
CanSeek
ในแต่ละกรณีเหล่านี้สามารถจะตามด้วยคำกริยา
เนื่องจาก "การสนับสนุน" เป็นคำกริยาฉันคิดว่าในกรณีของคุณCanSupportContentType
ดีกว่า
ทางเลือกที่สั้นกว่า
ในทางกลับกันอนุสัญญาบอกว่าคำนำหน้าเป็นตัวเลือก ยิ่งไปกว่านั้นมันเป็นเรื่องวิเศษที่จะรวมประเภทอาร์กิวเมนต์ในชื่อเมธอดเนื่องจากผู้พัฒนาสามารถดูประเภทของอาร์กิวเมนต์ใน Intellisense ดังนั้นคุณสามารถตั้งชื่อวิธีการของคุณSupports
และกำหนดเช่นนี้:
public bool Supports(System.Net.Mime.ContentType contentType)
... ซึ่งสั้นกว่าและยังคงสื่อสารวัตถุประสงค์อย่างชัดเจน คุณจะเรียกมันว่า:
ContentType contentType = new ContentType("text/plain");
var someClass = new MediatorsClass();
bool ok = someClass.Supports(contentType);
หรือประนีประนอมบางทีนี่อาจดีที่สุด:
public bool CanSupport(System.Net.Mime.ContentType contentType)