Concordo con la risposta di Darien, ma volevo aggiungere un punto di vista dal punto di vista dei programmatori C #.
Quando vedo il codice che dice 'setXXX', leggo che per dire che sta impostando un valore su una cosa, non mi aspetto che ciò abbia effetti collaterali in quella cosa oltre all'impostazione di quel valore, e mi aspetto che sia idempotente (cioè posso continuare a impostarlo con lo stesso valore ed è ok). È piuttosto come accedere a un campo. In genere mi aspetto anche di vedere un metodo "getXXX" insieme a un "setXXX".
Non so se questo è quello che ti aspetti in Java e C ++, ma è quello che mi aspetterei in C #, anche se in C # c'è una scorciatoia per questo chiamato Proprietà. Ed ecco alcune belle indicazioni su come usare Proprietà ( http://msdn.microsoft.com/en-us/library/ms182181.aspx ).
Dato questo punto di vista, l'interfaccia che sceglierei dipende esclusivamente dalla presenza di effetti collaterali (oltre alla modifica del valore di quel campo):
Se l'esecuzione dell'azione ha effetti collaterali, ad esempio mostra una finestra di dialogo, sceglierei "Show ()" e "Hide ()".
Se non ha effetti collaterali, supponiamo che sto impostando la visibilità di un "widget" e qualcos'altro rende quel widget in base al suo stato, quindi userei setVisibility o setIsVisible. (Non lo chiamerei SetVisible).
In C # (non sono sicuro di Java) è abbastanza comune adottare un modello di osservatore, in cui un framework dell'interfaccia utente ascolterà le modifiche agli oggetti e riattiverà automaticamente l'interfaccia quando una proprietà come Visibilità cambia. Ciò significa che l'impostazione del valore chiamando setIsVisible appare come se avesse effetti collaterali, ma nella mia definizione non lo è. Il contratto del widget viene eseguito impostando il valore del campo che rappresenta "IsVisible".
Detto in altro modo, per me va bene attivare la visibilità di un'etichetta su un modulo prima che il modulo venga mostrato. Vale a dire label.getIsVisible == true, ma il modulo non viene visualizzato.
Non va bene per me chiamare Hide () quando il modulo non viene visualizzato.