Je suis d'accord avec la réponse de Darien, mais je voulais ajouter un point de vue du point de vue des programmeurs C #.
Quand je vois du code qui dit 'setXXX', je lis cela pour dire qu'il donne une valeur à une chose, je ne m'attends pas à ce que cela ait des effets secondaires sur cette chose à part définir cette valeur, et je pense que ce sera idempotent. (c.-à-d. que je peux continuer à le régler avec la même valeur et ce n'est pas grave). C'est un peu comme accéder à un champ. Généralement, je m'attendrais aussi à voir une méthode 'getXXX' avec un 'setXXX'.
Je ne sais pas si c'est ce à quoi vous vous attendiez en Java et en C ++, mais c'est ce à quoi je m'attendrais en C #, bien qu'en C #, il existe un raccourci pour cela appelé Propriétés. Et voici quelques conseils utiles sur l'utilisation des propriétés ( http://msdn.microsoft.com/en-us/library/ms182181.aspx ).
Compte tenu de ce point de vue, l'interface que je choisirais dépend uniquement des effets secondaires (autres que la modification de la valeur de ce champ):
Si cette action a des effets secondaires, par exemple si une boîte de dialogue est affichée, alors je choisirais "Show ()" et "Hide ()".
S'il n'a pas d'effets secondaires, si je règle la visibilité d'un "widget" et si un autre rendu le rend en fonction de son état, j'utiliserais setVisibility ou setIsVisible. (Je n'appellerais pas cela SetVisible).
En C # (pas sûr de Java), il est assez courant d’adopter un motif observateur, dans lequel un cadre d’interface utilisateur écoute les modifications apportées aux objets et restitue automatiquement l’interface utilisateur lorsqu’une propriété, telle que Visibility, change. Cela signifie que définir la valeur en appelant setIsVisible apparaît comme si elle avait des effets secondaires, mais pas dans ma définition. Le contrat du widget est rempli en définissant sa valeur de champ représentant "IsVisible".
En d'autres termes, je peux activer / désactiver la visibilité d'une étiquette sur un formulaire avant que celui-ci ne soit affiché. C'est-à-dire label.getIsVisible == true, mais le formulaire n'est pas affiché.
Je ne peux pas appeler Hide () lorsque le formulaire n'est pas affiché.