10
votes

FORCE AVERTISSEMENT EN JAVA

J'aimerais qu'un mécanisme jette un avertissement de compilation manuellement. J'utilise cela pour signaler le code inachevé, donc je ne peux pas l'oublier plus tard. @Depecated est proche mais met en garde sur le site de l'appelant, pas sur le site de la création. J'utilise Eclipse. Quelque chose comme #warning en c #.


1 commentaires

Utilisez-vous Eclipse? Vous pouvez utiliser // TODO dans des commentaires, ils apparaissent dans la vue Tâches.


7 Réponses :


7
votes

Pourquoi ne pas simplement ajouter un drapeau dans le code source comme // TODO: ou quelque chose? Et ensuite chercher toutes les occurrences de toDO dans le fichier? Vous pouvez même avoir un drapeau spécial aussi comme finiMe ou quelque chose.

Si vous avez des centaines de Todos dans votre projet de l'équipe, vous pouvez filtrer par une chaîne par exemple. vos initiales dans les menus en haut du volet de la tâche.


0 commentaires

1
votes

Créer une annotation qui imprime un avertissement.


3 commentaires

Quoi, comme une extension Eclipse? Cela ressemble à une énorme douleur


Voulez-vous dire émettre un avertissement à l'exécution?


-1 ... cette réponse à la question "Comment créer un mécanisme pour lancer des avertissements de compilation comme @depecated Annotation" est "Créer une annotation qui imprime l'avertissement" ne vous aide pas. Pourriez-vous écrire comment faire cela? ou fournir un lien?



1
votes

Vous pouvez essayer de jeter une exception si une méthode inachevée est appelée (E.g.) xxx

(ou vous pouvez créer votre propre exception). Évidemment, cela ne fera qu'aider à l'exécution (sauf si vous faites une recherche ou quelque chose dans votre code pour cela - mais TODO serait une meilleure solution pour cela)

et si vous utilisez Eclipse, vous pouvez marquer votre code inachevé. Avec // TODO et il apparaîtra sur votre liste de tâches (et la gouttière droite si vous l'avez configurée). Évidemment, les choses peuvent devenir très bruyantes si vous avez beaucoup de tags TODO.


5 commentaires

Aucun bien, cela change la signature de la méthode en ajoutant une clause de lancers tout en augmentant la hiérarchie de l'héritage


@Dustin Getz: Utilisez simplement une sous-classe de RunTimeException ou d'erreur. Cela n'affecte pas la hiérarchie ou les appelants.


@Dustin aussi, non-supportéOperationException est une exception runtimédia


Je fais aussi cela, et la recherche du constructeur est facile dans la plupart des IDes.


Notre variation de l'approche d'exception comprend une référence à l'élément de travail connexe de notre système de suivi.



1
votes

Je fais tout cela tout le temps en mettant simplement "*** laissé ici ***" ou d'autres. Comme ce n'est pas valide Java ou C ++ ou à peu près toute autre syntaxe de langue, le compilateur donne un message d'erreur pour celui-ci.

Bien sûr, cela donne une erreur et non un avertissement. Si vous souhaitez compiler autrement, je suppose que je suppose qu'une chose facile à faire serait de mettre une déclaration que vous savez générera un avertissement de compilateur avec un commentaire disant «terminer cela» ou autre.


0 commentaires

0
votes

Je ne suis pas sûr de savoir s'il y a quelque chose comme ça dans Java

mais voici quelque chose qui peut vous aider:

Compilez le code ci-dessous comme suit:

< Code> javac -xprint verbose.java xxx


0 commentaires

1
votes

Lorsque je souhaite avertir les utilisateurs d'appeler une méthode, je (MIS) utilise l'annotation Build-in @depecated qui génère un avertissement au côté de l'appelant. En fait, il a une signification légèrement différente, mais je m'en fiche. XXX


0 commentaires

2
votes

Beaucoup mieux que d'utiliser l'annotation obsolète à mon humble avis L'annotation Suppresswarnings.

@suppresswarnings ("xxx")

peut être annoté presque partout et aussi longtemps que XXX n'est pas un avertissement valide, vous obtiendrez un avertissement d'Eclipse à ce sujet.


1 commentaires

n'a pas fonctionné ici. Erreur: "Erreur de syntaxe sur jeton (s), construction (s) égarée (s)"