Y a-t-il un moyen de trouver des débordements numériques potentiels dans le code Java, en utilisant l'IDE Eclipse? Par exemple ...Comment trouver des débordements numériques potentiels dans le code Java, en utilisant Eclipse?
long aLong = X * Y * Z;
... où X, Y et Z sont ints et le résultat peut déborder Integer.MAX_VALUE. (Notez que, peut-être contre-intuitivement, si le résultat de cet exemple déborde de Integer.MAX_VALUE, on attribuera à aLong la valeur débordée erronée).
J'ai regardé les paramètres Avertissements d'Eclipse, les règles PMD et les règles FindBugs et je ne trouve aucun paramètre pour vous aider. Un collègue remarque qu'IntelliJ va prévenir à ce sujet ... et je détesterais devoir admettre que je ne peux pas faire la même chose avec Eclipse. ;-)
Précision 1: Je ne cherche pas quelque chose qui donne de faux positifs 0 ... juste des avertissements que « vous pourriez avoir un problème de débordement ici »,
Précision 2:. Cette est souhaité à "temps de développement" ... ce qui signifie, au même stade que Eclipse cherche des importations inutilisées, PMD vérifie ses règles, etc
Vous voulez donc être averti de toute opération arithmétique? a = x + y peut déborder si a, x et y sont du même type intégral – Mark
J'aimerais aussi avoir un tel contrôle, mais seulement pour la multiplication. Je fais de la programmation de concours et typiquement les valeurs vont jusqu'à 10^9, donc l'addition n'est pas un problème, mais la multiplication est et je veux être prévenu, sinon j'oublie le tour de 1L * x * y' ... – Betlista