Je suis un développeur avec seulement quelques années d'expérience, travaillant dans une petite entreprise de huit développeurs, sur un projet Java. Notre chef d'équipe, également l'un des gestionnaires, est plus âgé et très productif, et dit qu'il a une quinzaine d'années d'expérience en Java.
Le mois dernier, alors que nous discutions de certains modules de code source qu'il a écrits, J'ai remarqué dans le code source que l'une des classes remplace la méthode equals ()
, mais pas la méthode hashCode ()
- je fais référence aux deux méthodes déclarées dans le Java très basique classe Object
. Quand j'ai signalé cela au chef d'équipe, d'une manière très calme et polie, il a nié qu'une classe doive passer outre les deux méthodes. Le problème finirait là, mais j'ai trouvé immoral de laisser une telle faille (bug) blesser le produit plus tard.
Quelques jours plus tard, je l'ai approché en personne et en privé et je lui ai tranquillement, sans manquer de respect, lui expliquer le problème et utilisé des références externes (comme le livre de Joshua Bloch 'Effective Java') . Eh bien, il a dit qu'il le regarderait, et finalement il l'a fait. Cependant, depuis, il me donne l’épaule froide.
Pire encore, j'ai récemment vu un problème sérieux dans le code source. Certaines classes qu'il a écrites implémentent l'interface Serializable
, mais le champ serialVersionUID
n'est pas un nombre fixe (constant). Au lieu de cela, cela varie. Je veux dire, nous obtenons un numéro différent à chaque fois que nous exécutons l'application.
Encore une fois, avec la motivation de livrer un produit sain d'esprit, j'aimerais communiquer cela correctement. Mais je ne sais pas comment le faire correctement, sans qu'il le prenne personnellement. Vous voyez, mes approches précédentes ont échoué. Comment pourrais-je le faire?
Tout conseil serait le bienvenu.
Modifier: Le but de cette question est de trouver des moyens efficaces, productifs, polis, respectueux et collaboratifs de communiquer les améliorations sur problèmes de code graves, et de ne pas remettre en question l'autorité ou les décisions de gestion, prises par des pairs, ou même des supérieurs.