Il y a beaucoup de moments où je ne suis pas sûr de savoir si une méthode particulière doit être faite privé ou non. Par exemple, je suis en train de construire une classe à droite maintenant, qui est responsable de la génération d'un rapport. Cette classe a un buildReport méthode et plusieurs méthodes de collecte de données nécessaires pour buildReport.
// single public method
// uses a set of helper methods
public buildReport()
// helper methods
private avgSurveyTime()
private fetchVendors()
private fetchSendCounts()
private ...
Je suis demandais si je devais faire de ces méthodes d'aide publique. La seule méthode que j'ai vraiment plan sur l'appel à l'extérieur pour le moment est - buildReport()
. Toutefois, il pourrait être utile pour obtenir une liste des fournisseurs avec fetchVendors()
etc.
Je vois deux écoles de pensée sur ce point: Vous pouvez toujours exposer aussi peu que possible. (Dans ce cas, beaucoup de mes classes n'aurions qu'une seule méthode publique) OU vous pouvez exposer tout ce que vous pouvez qui pourraient être utiles à l'utilisateur de la classe.
Est-il une bonne règle de base à utiliser pour décider si les méthodes devrait être rendu public/privé?