8
votes

Construire l'outil pour détecter l'autoboxage?

Est-ce que quelqu'un connaît-il des dames de style ou des outils de construction qui signalaient de l'autoboxion et de la boîteboxing à partir du serveur de construction?

J'ai déjà l'option Eclipse pour le signaler à ma fin, mais tout le monde dans le projet n'utilise pas le même IDE ou les mêmes paramètres. Trouver sur le côté de la construction semble que le seul moyen de détecter là où cela pourrait se glisser dans le projet.


1 commentaires

Ce serait-il une sorte d'outil pour faire une analyse statique sur le code source Java?


3 Réponses :


0
votes

Un meilleur outil serait un outil qui met en évidence la boxe automatique sur les chemins de code qu'un profileur prouve lentement en raison de la boxe . Forcer une boxe explicite est comme éviter la collecte des ordures, car elle pourrait être lente dans un boîtier de bord. Laissez les outils faire leur travail - compilateur et langue à exprimer le problème réel que vous travaillez et profileur à capturer des problèmes de performance. La boxe explicite n'est pas naturelle dans le contexte de la résolution d'un problème car elle présente des nuances de langue qui ne font pas partie de la description de la solution.

EDIT: Est-ce que ce type de commentaire est-il approprié ici? J'essaie effectivement d'être utile - en fait, je suis spécifiquement pensé dans le passé d'un outil pour identifier les instances de la case CLI BOX OPCODE sur les chemins chauds.


1 commentaires

@ 28oz28: Re commentaire - Je pense que c'est approprié.



3
votes

Findbugs identifiera de nombreux cas spécifiques de problèmes de boxe potentiellement problématiques. Je lié directement à un exemple, mais si vous êtes Ctrl-F pour "Box" dans cette page, vous trouverez le reste assez facilement. Je pense que chercher des problèmes de boxe spécifiques est meilleur que le signal de gros de tout. (En d'autres termes, je suis d'accord avec 280Z28)


0 commentaires

2
votes

Si vous utilisez Eclipse, apportez les préférences et allez à Java - Compiler - Erreurs / avertissements. Dans la section Problèmes de programmation potentielle, la section une des options, vous pouvez activer la boxe automatique / la boîte de commande comme avertissement ou erreur. Cette analyse statique pourrait être très utile lorsqu'elle est utilisée avec un profileur.

As 280z28 mentionné, il serait préférable d'avoir un outil qui a trouvé des cas de boxe automatique / de non-boîte qui sont appelés très fréquemment et qui affectent les performances. Je ne connais cependant pas d'un tel outil.


1 commentaires

L'affiche originale a dit qu'il cherchait quelque chose qui n'exigerait pas tout le monde sur son équipe d'utiliser Eclipse. Je suis dans le même bateau, où j'ai une équipe de développeurs qui souhaiteraient interdire l'utilisation de l'autoboxing de l'équipe sans appliquer une IDE particulière dans toute l'équipe. Malheureusement, je n'ai pas encore trouvé d'outil qui l'extérieure à l'extérieur d'une IDE particulière.