Ich stimme Dariens Antwort zu, wollte aber einen Standpunkt aus der Perspektive eines C # -Programmierers hinzufügen.
Wenn ich Code sehe, der 'setXXX' sagt, habe ich gelesen, dass es einen Wert für ein Objekt festlegt. Ich erwarte jedoch keine anderen Nebenwirkungen als das Festlegen dieses Werts, und ich erwarte, dass dies idempotent ist (dh ich kann es mit dem gleichen Wert einstellen und es ist in Ordnung). Es ist eher so, als würde man auf ein Feld zugreifen. Im Allgemeinen würde ich auch eine 'getXXX'-Methode zusammen mit einer' setXXX'-Methode erwarten.
Ich weiß nicht, ob dies das ist, was Sie in Java und C ++ erwarten, aber das ist, was ich in C # erwarten würde, obwohl es in C # eine Kurzform für diese Eigenschaft gibt, die Properties heißt. Und hier finden Sie einige nützliche Anleitungen zur Verwendung von Eigenschaften ( http://msdn.microsoft.com/en-us/library/ms182181.aspx ).
In Anbetracht dieser Ansicht hängt die von mir gewählte Benutzeroberfläche nur davon ab, ob es Nebenwirkungen gibt (außer dem Ändern dieses Feldwerts):
Wenn das Ausführen der Aktion Nebenwirkungen hat, z. B. ein Dialogfeld angezeigt wird, würde ich mit "Show ()" und "Hide ()" fortfahren.
Wenn es keine Nebenwirkungen hat, sagen wir, ich stelle die Sichtbarkeit eines "Widgets" ein und etwas anderes rendert das Widget abhängig von seinem Status, dann würde ich setVisibility oder setIsVisible verwenden. (Ich würde es nicht SetVisible nennen).
In C # (bei Java nicht sicher) wird häufig ein Beobachtermuster verwendet, bei dem ein UI-Framework auf Änderungen an Objekten wartet und die Benutzeroberfläche automatisch neu rendert, wenn sich eine Eigenschaft wie Visibility ändert. Das bedeutet, dass das Setzen des Werts durch Aufrufen von setIsVisible so aussieht, als hätte es Nebenwirkungen, in meiner Definition jedoch nicht. Der Vertrag des Widgets wird erfüllt, indem der Feldwert auf "IsVisible" gesetzt wird.
Anders ausgedrückt ist es in Ordnung, die Sichtbarkeit einer Beschriftung in einem Formular zu ändern, bevor das Formular angezeigt wird. Dh label.getIsVisible == true, aber das Formular wird nicht angezeigt.
Es ist nicht in Ordnung, Hide () aufzurufen, wenn das Formular nicht angezeigt wird.