Nazwy składowych typu

Uwaga

Ta zawartość jest drukowana przez uprawnienie Pearson Education, Inc. z Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition. Wydanie to zostało opublikowane w 2008 roku, a książka została w pełni zmieniona w trzecim wydaniu. Niektóre informacje na tej stronie mogą być nieaktualne.

Typy składają się z elementów członkowskich: metod, właściwości, zdarzeń, konstruktorów i pól. W poniższych sekcjach opisano wskazówki dotyczące nazewnictwa elementów członkowskich typów.

Nazwy metod

Ponieważ metody są sposobem podejmowania akcji, wytyczne projektowe wymagają, aby nazwy metod to czasowniki lub frazy czasownikowe. Poniższe wytyczne służą również do odróżnienia nazw metod od nazw właściwości i typów, które są frazami przymiotnikowymi lub przymiotnikowymi.

✔️ Czy nadać metody, które są czasownikami lub frazami czasownikowymi.

public class String {
    public int CompareTo(...);
    public string[] Split(...);
    public string Trim();
}

Nazwy właściwości

W przeciwieństwie do innych elementów członkowskich właściwości powinny mieć nazwy przymiotnika lub frazy przymiotnikowej. Wynika to z faktu, że właściwość odwołuje się do danych, a nazwa właściwości to odzwierciedla. PascalCasing jest zawsze używany dla nazw właściwości.

✔️ Właściwości nazw DO przy użyciu ciotki, frazy unowej lub przymiotnika.

❌ NIE mają właściwości pasujących do nazwy metod "Get", jak w poniższym przykładzie:

public string TextWriter { get {...} set {...} } public string GetTextWriter(int value) { ... }

Ten wzorzec zazwyczaj wskazuje, że właściwość powinna być metodą.

✔️ Właściwości kolekcji nazw DO z frazą w liczbie mnogiej opisującą elementy w kolekcji zamiast używać pojedynczej frazy, po której następuje fraza "Lista" lub "Kolekcja".

✔️ Właściwości logiczne nazwy DO z frazą afirmacyjną (CanSeek zamiast CantSeek). Opcjonalnie można również prefiksować właściwości logiczne z wartością "Is", "Can" lub "Has", ale tylko wtedy, gdy dodaje wartość.

✔️ ROZWAŻ nadanie właściwości tej samej nazwy co jej typ.

Na przykład następująca właściwość poprawnie pobiera i ustawia wartość wyliczeniową o nazwie Color, więc właściwość ma nazwę Color:

public enum Color {...}
public class Control {
    public Color Color { get {...} set {...} }
}

Nazwy zdarzeń

Zdarzenia zawsze odwołują się do jakiejś akcji, takiej, która się dzieje, lub zdarzenia, które wystąpiły. W związku z tym, podobnie jak w przypadku metod, zdarzenia są nazwane czasownikami, a czasownik jest używany do wskazywania czasu, kiedy zdarzenie jest zgłaszane.

✔️ Zdarzenia nazwy DO z czasownikiem lub frazą czasownika.

Przykłady obejmują Clicked, Painting, DroppedDowni tak dalej.

✔️ Należy podać nazwy zdarzeń z koncepcją przed i po, używając obecnych i przeszłych napiętych.

Na przykład zdarzenie zamknięcia, które jest wywoływane przed zamknięciem okna, zostanie wywołane Closing, a zdarzenie, które jest wywoływane po zamknięciu okna, zostanie nazwane Closed.

❌ Nie używaj prefiksów "Przed" lub "Po" lub postfiksów, aby wskazać pre-i post-events. Użyj dziesiątek obecnych i poprzednich zgodnie z opisem.

✔️ Programy obsługi zdarzeń nazwy DO (delegaty używane jako typy zdarzeń) z sufiksem "EventHandler", jak pokazano w poniższym przykładzie:

public delegate void ClickedEventHandler(object sender, ClickedEventArgs e);

✔️ Należy użyć dwóch parametrów o nazwie sender i e w programach obsługi zdarzeń.

Parametr nadawcy reprezentuje obiekt, który zgłosił zdarzenie. Parametr nadawcy jest zazwyczaj typu object, nawet jeśli można stosować bardziej konkretny typ.

✔️ Klasy argumentów zdarzenia do nazw z sufiksem "EventArgs".

Nazwy pól

Wytyczne dotyczące nazewnictwa pól dotyczą statycznych pól publicznych i chronionych. Pola wewnętrzne i prywatne nie są objęte wytycznymi, a pola wystąpień publicznych lub chronionych nie są dozwolone przez wytyczne dotyczące projektowania elementów członkowskich.

✔️ Do używać PascalCasing w nazwach pól.

✔️ Pola nazw DO używające aunu, frazy ciołowej lub przymiotnika.

❌ NIE używaj prefiksu dla nazw pól.

Na przykład nie używaj wartości "g_" ani "s_", aby wskazać pola statyczne.

© Części 2005, 2009 Microsoft Corporation. Wszelkie prawa zastrzeżone.

Reprinted by permission of Pearson Education, Inc. from Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition by Krzysztof Cwalina and Brad Abrams, published oct 22, 2008 by Addison-Wesley Professional w ramach Microsoft Windows Development Series.

Zobacz też