Techniques de lecture du code source Java dans Eclipse

introduction

Vous aurez l'occasion de lire le code source écrit par d'autres membres du projet, de lire le code source pour étudier le framework que vous utilisez et de lire le code source dans diverses situations.

Dans un tel cas, il existe plusieurs approches pour utiliser les fonctions de l'EDI, améliorer la sensation de frappe, entraîner le fonctionnement du clavier à être plus rapide, et ainsi de suite.

Dans cet article, nous nous concentrerons sur l'utilisation des fonctions de l'EDI parmi ces approches, et présenterons les fonctions utiles pour lire le code source lorsque le langage est Java et que l'EDI utilise Eclipse.

Lire le code source Java dans Eclipse

Par souci de clarté, certaines captures d'écran sont publiées, mais le code source qui y est affiché provient d'une bibliothèque d'accès à la base de données appelée Doma. (Complètement mon hobby)

De plus, comme mon corps est maudit par Eclipse, j'écrirai sur les fonctionnalités d'Eclipse, mais je pense qu'il y en a des similaires dans d'autres IDE. Donc, si vous utilisez un autre IDE, je vous serais reconnaissant si vous pouviez écrire un article disant "Cet IDE devrait le faire".

Aller à la définition

Tout d'abord, des bases. Si vous lisez le code source et souhaitez passer du code appelant la méthode au point où la méthode est définie, placez le curseur sur le code appelant la méthode et appuyez sur «F3».

  1. Placez le curseur sur
    <img width = "212" alt = "Screenshot 2017-12-09 12.18.29.png " src = "https://qiita-image-store.s3.amazonaws.com" /0/19129/029b3929-3386-a774-448f-3174aad83b85.png ">
  2. Appuyez sur F3
    <img width =" 374 "alt =" Capture d'écran 2017-12-09 12.18.45.png "src =" https: //qiita-image-store.s3.amazonaws. com / 0/19129 / d7bc5f85-f586-d8b7-5849-b819cfd1ddfc.png ">

Si vous lisez un processus spécifique depuis le début, vous passerez souvent à la définition de la méthode, donc je pense que c'est une fonction que vous utilisez souvent.

Aller à la définition de méthode de la classe d'implémentation d'interface

  1. Lorsque vous passez à la définition de méthode avec F3 ...
    <img width =" 372 "alt =" Capture d'écran 2017-12-09 13.20.31.png "src =" https: // qiita-image -store.s3.amazonaws.com/0/19129/50f5e84c-ca74-5f22-7c85-d4e9f1973611.png "> 2. Aucune implémentation dans l'interface!
    <img width = "194" alt = "Capture d'écran 09/12/2017 13.20.41.png " src = "https://qiita-image-store.s3.amazonaws.com/0/19129/2810c866" -6505-80af-60c0-08fbd644155d.png "> Dans ce cas, placez le curseur sur le code d'appel de méthode et appuyez sur Commande + T. Ensuite, une liste des classes qui implémentent la méthode sera affichée, alors c'est tout! Sélectionnez la classe que vous pensez vouloir et passez à la définition de méthode. 1. Placez le curseur sur le code d'appel de méthode
    <img width = "372" alt = "Screenshot 2017-12-09 13.20.31.png " src = "https: //qiita-image-store.s3" .amazonaws.com / 0/19129 / 50f5e84c-ca74-5f22-7c85-d4e9f1973611.png "> 2. Appuyez sur Commande + T
    <img width =" 415 "alt =" Capture d'écran 2017-12- " 09 13.21.11.png "src =" https://qiita-image-store.s3.amazonaws.com/0/19129/3fabe6c7-6855-064d-a8df-a29d31367f66.png "> 3. Lorsque vous sélectionnez la classe d'implémentation Vous pouvez accéder à la définition de la méthode
    Screenshot 2017-12-09 13.21.19.png

Dans cet exemple, une seule classe est affichée, mais dans certains cas, de nombreuses classes d'implémentation sont affichées. Parmi eux, c'est ça! Choisir une classe qui semble exiger des connaissances et du sens, mais les former est une autre histoire, je vais donc l'omettre.

Trouvez où appeler une méthode

Vous souhaiterez peut-être savoir où une méthode est appelée lors de l'analyse de l'impact des modifications de spécification. Dans ce cas, placez le curseur sur la définition de méthode à étudier et appuyez sur Ctrl + alt + H. Ensuite, une liste des lieux qui appellent la méthode s'affiche.

スクリーンショット 2017-12-09 13.23.49.png

Si vous appuyez sur la marque triangulaire à gauche de chaque élément de la liste des points d'appel, les points d'appel de cette méthode seront affichés dans une liste.

スクリーンショット 2017-12-09 14.23.40.png

De cette façon, vous pouvez aller et venir dans la hiérarchie d'appel.

Rechercher des références de classe

Placez le curseur sur la classe et appuyez sur Commande + Maj + G. Ensuite, les lieux qui font référence à cette classe seront répertoriés.

スクリーンショット 2017-12-09 14.30.19.png

Si la classe est référencée en tant que champ, le nom du champ sera affiché, et s'il est référencé en tant qu'argument / variable locale, le nom du constructeur ou le nom de la méthode sera affiché dans les résultats de la recherche.

Cette fonctionnalité était nécessaire lorsque je lisais un cadre de taille raisonnable tel que Spring Boot.

Autres fonctions de recherche fréquemment utilisées

En dehors de ceux-ci, j'utilise souvent la recherche de type et la recherche de ressources.

Dans mon cas, je pense que ceux-ci sont utilisés plus souvent lors de l'écriture du code source que lors de la lecture du code source.

Outils autres qu'Eclipse

Outre Eclipse, il existe d'autres outils qui peuvent vous aider à lire le code source. Ici, je ne donnerai qu'une brève introduction en prime.

Git

J'utilise souvent git grep et git ls-files. Dans git grep, l'option -i et l'option --name-only sont souvent utilisées ensemble.

Les grands projets, tels que Spring Framework, sont souvent git grep à importer dans Eclipse pour la recherche.

unite.vim

unite.vim est un plug-in Vim qui peut rechercher diverses choses telles que des fichiers et des tampons en tant que sources de données. C'est extrêmement pratique, mais j'ai un peu de mal car cela ne fonctionne pas sur le PC de mon entreprise. Je dois faire quelque chose ...

À propos, unite.vim est en mode maintenance et le successeur est denite.nvim. Je dois changer ...

en conclusion

J'ai présenté les fonctions utiles pour lire le code source en utilisant Java et Eclipse comme sujet, mais comment était-ce? Comme mentionné précédemment, je pense que d'autres IDE ont des fonctions similaires (ou des fonctions plus pratiques), veuillez donc consulter le manuel de votre IDE ou demander aux experts autour de vous.

Cette fois, j'ai écrit spécifiquement les fonctionnalités d'Eclipse, mais j'espère pouvoir annoncer l'état d'esprit de la lecture du code source et d'autres approches qui peuvent être prises pour lire le code source à un autre moment. Je suis.

Alors tout le monde, bonne lecture de code source!

Recommended Posts

Techniques de lecture du code source Java dans Eclipse
Technologie de lecture du code source (cheet sheet)
Code source Java lecture de la classe java.lang.Math
Autoriser l'achèvement du code dans Eclipse pour Mac
Commentaires dans la source Java
Exemple de code source pour trouver le multiple commun minimum de plusieurs valeurs en Java
déclenchement automatique d'activation du code source Java eclipse lors de la saisie
Programme Null-safe en Java (Eclipse)
Java avec Visual Studio Code
Écrire du code de type Java8 en Java8
Premier développement Java dans Eclipse
[Java] Conseils pour l'écriture de la source
Lors de la lecture du code source
Créer un code QR pour Google Authenticator à l'aide de ZXing en Java
Paramètres de renforcement d'installation et de complétion de code d'Eclipse (développement Mac pour Java)
Environnement Java Spring dans vs Code
[Pour les débutants] Exécutez Selenium sur Java
[OpenCV3.2.0] Paramètres Eclipse (Java) (pour Mac)
Essayez d'exécuter Selenuim 3.141.59 avec eclipse (java)
Bonjour le monde de Java dans Eclipse maintenant
Code source pré-écrit pour l'activité
Paramètres de débogage SSL dans Java
JPA (API de persistance Java) dans Eclipse
Structure de base du code source Java
Premiers pas pour l'apprentissage profond en Java
Points clés pour l'introduction de gRPC en Java
[CLI JAWS-UG] CodeBuild: # 1 Création de code source (Java)
[Java] Définir AdoptOpen JDK dans STS (Eclipse)
Construction de l'environnement Play Framework 2.6 (Java) avec Eclipse
Plug-in pratique pour le développement Eclipse JAVA: Decompiler
Toutes les mêmes chaînes de code de hachage en Java
[Java] Flux du code source à l'exécution
[Mac] Installer Java dans Visual Studio Code
Lire et écrire des fichiers gzip en Java
[Pour les débutants] Comment déboguer avec Eclipse
[Java] Raccourcis Eclipse qui peuvent être améliorés en sachant lors des allers-retours entre le code source d'un projet
Extrait technologique pouvant être utilisé pour créer des sites EC dans la formation Java
La vue utilisée pour exécuter du code Java lors du débogage dans Eclipse est Debug Shell
[Pour les débutants] J'ai essayé d'utiliser DBUnit avec Eclipse
Eclipse Pleiades All in One version pour Mac
Ajouter l'option --enable-preview dans Java dans Visual Studio Code
ChatWork4j pour l'utilisation de l'API ChatWork en Java
Comment colorer la sortie de la console de code dans Eclipse
[Pour les débutants] J'ai essayé d'utiliser JUnit 5 avec Eclipse
[Java] Création d'API à l'aide de Jerjey (Jax-rs) avec eclipse
Analyse de code statique par Checkstyle avec Java + Gradle
Code pour échapper aux chaînes JSON en Java
Préparez la sortie du journal à l'aide de log4j dans Eclipse.
La solution pour NetBeans 8.2 ne fonctionne pas dans l'environnement Java 9
Essayez d'utiliser Sourcetrail (version win) avec du code Java
Essayez d'utiliser Sourcetrail (version macOS) avec du code Java
[AtCoder Problem-ABC001] Observation du vent C-Do en Java [Code]
Créer un extrait pour Thymeleaf dans VS Code
Définissez un affichage contextuel pour le langage Java avec vim.
Traitement de lecture / actualisation / mise à jour des données dans TableView
Générer du code client Java pour l'API SOAP de SalesForce
[Angoisse du débutant Java] Code difficile à tester implémenté dans Junit
[Mac] Installer Java dans Visual Studio Code (VS Code)
Comparez la sortie PDF en Java pour les tests d'instantanés