Java Language Pitfall - Ignorer la visibilité de la méthode


Exemple

Même les développeurs Java expérimentés ont tendance à penser que Java ne possède que trois modificateurs de protection. La langue a en fait quatre! Le niveau de visibilité du paquet privé (aka par défaut) est souvent oublié.

Vous devriez faire attention à quelles méthodes vous rendre public. Les méthodes publiques d'une application sont l'API visible de l'application. Cela devrait être aussi petit et compact que possible, surtout si vous écrivez une bibliothèque réutilisable (voir aussi le principe SOLID ). Il est important de considérer de la même manière la visibilité de toutes les méthodes et d’utiliser uniquement l’accès privé protégé ou groupé, le cas échéant.

Lorsque vous déclarez des méthodes qui doivent être privées comme publiques, vous exposez les détails d'implémentation internes de la classe.

Un corollaire de ceci est que vous ne unité tester les méthodes publiques de votre classe - en fait , vous ne pouvez tester les méthodes publiques. C'est une mauvaise pratique d'augmenter la visibilité des méthodes privées simplement pour pouvoir exécuter des tests unitaires contre ces méthodes. Tester des méthodes publiques appelant les méthodes avec une visibilité plus restrictive devrait suffire à tester une API complète. Vous ne devez jamais développer votre API avec davantage de méthodes publiques uniquement pour autoriser les tests unitaires.