Techniken zum Lesen von Java-Quellcode in Eclipse

Einführung

Sie haben die Möglichkeit, den von anderen Projektmitgliedern geschriebenen Quellcode zu lesen, den Quellcode zu lesen, um das von Ihnen verwendete Framework zu untersuchen, und den Quellcode in verschiedenen Situationen zu lesen.

In einem solchen Fall gibt es verschiedene Ansätze, um die Funktionen der IDE zu verwenden, das Schlaggefühl zu verbessern, die Tastaturbedienung schneller zu trainieren und so weiter.

In diesem Artikel konzentrieren wir uns auf die Verwendung der Funktionen der IDE aus diesen Ansätzen und stellen die Funktionen vor, die zum Lesen des Quellcodes nützlich sind, wenn die Sprache Java ist und die IDE Eclipse verwendet.

Lesen Sie den Java-Quellcode in Eclipse

Aus Gründen der Übersichtlichkeit werden einige Screenshots veröffentlicht, der dort angezeigte Quellcode stammt jedoch aus einer Datenbankzugriffsbibliothek namens Doma. (Ganz mein Hobby)

Da mein Körper von Eclipse verflucht ist, werde ich auch über die Funktionen von Eclipse schreiben, aber ich denke, dass es ähnliche in anderen IDEs gibt. Wenn Sie also eine andere IDE verwenden, wäre ich Ihnen dankbar, wenn Sie einen Artikel mit dem Titel "Diese IDE sollte dies tun" schreiben könnten.

Zur Definition springen

Zunächst von den Grundlagen. Wenn Sie den Quellcode lesen und von dem Code, der die Methode aufruft, zu dem Punkt springen möchten, an dem die Methode definiert ist, setzen Sie den Cursor auf den Code, der die Methode aufruft, und drücken Sie "F3".

  1. Setzen Sie den Cursor auf
    <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. Drücken Sie F3
    <img width =" 374 "alt =" Screenshot 2017-12-09 12.18.45.png "src =" https: //qiita-image-store.s3.amazonaws. com / 0/19129 / d7bc5f85-f586-d8b7-5849-b819cfd1ddfc.png ">

Wenn Sie einen bestimmten Prozess von Anfang an lesen, springen Sie häufig zur Methodendefinition. Ich denke, dies ist eine Funktion, die Sie häufig verwenden.

Wechseln Sie zur Methodendefinition der Schnittstellenimplementierungsklasse

Wenn Sie mit F3 zur Methodendefinition springen, gibt es möglicherweise keine Implementierung in der Schnittstelle darüber hinaus.

  1. Wenn Sie mit F3 zur Methodendefinition springen ...
    <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. Es gibt keine Implementierung in der Schnittstelle!
    <img width = "194" alt = "Screenshot 2017-12-09 13.20.41.png " src = "https://qiita-image-store.s3.amazonaws.com/0/19129/2810c866" -6505-80af-60c0-08fbd644155d.png ">

Setzen Sie in diesem Fall den Cursor auf den Methodenaufrufcode und drücken Sie Befehl + T. Dann wird eine Liste der Klassen angezeigt, die die Methode implementieren. Das ist es also! Wählen Sie die gewünschte Klasse aus und springen Sie zur Methodendefinition.

  1. Setzen Sie den Cursor auf den Methodenaufrufcode
    <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. Drücken Sie Command + T
    <img width =" 415 "alt =" Screenshot 2017-12-09 13.21.11.png "src =" https: //qiita-image-store.s3. amazonaws.com/0/19129/3fabe6c7-6855-064d-a8df-a29d31367f66.png ">
  3. Sie können zur Methodendefinition springen, indem Sie die Implementierungsklasse auswählen.
    <img width = "239" alt = "Screenshot 2017-12-09 13.21.19.png " src = "https: // qiita-image-store" .s3.amazonaws.com / 0/19129 / 983b8677-bc3e-a1f0-4e61-3acb34d8479b.png ">

In diesem Beispiel wird nur eine Klasse angezeigt, in einigen Fällen werden jedoch viele Implementierungsklassen angezeigt. Unter ihnen ist es das! Die Wahl einer Klasse, die so aussieht, als ob sie Wissen und Sinn erfordert, aber sie zu trainieren, ist eine andere Geschichte, deshalb werde ich sie weglassen.

Finden Sie heraus, wo Sie eine Methode aufrufen können

Möglicherweise möchten Sie wissen, wo eine Methode aufgerufen wird, wenn Sie die Auswirkungen von Spezifikationsänderungen untersuchen. Setzen Sie in diesem Fall den Cursor auf die zu untersuchende Methodendefinition und drücken Sie "Strg + Alt + H". Anschließend wird eine Liste der Orte angezeigt, an denen die Methode aufgerufen wird.

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

Wenn Sie die Dreiecksmarkierung links neben jedem Element in der Liste der Anrufpunkte drücken, werden die Anrufpunkte dieser Methode in einer Liste angezeigt.

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

Auf diese Weise können Sie in der aufrufenden Hierarchie hin und her gehen.

Suchen Sie nach Klassenreferenzen

Platzieren Sie den Cursor auf der Klasse und drücken Sie "Befehl + Umschalt + G". Dann werden die Orte aufgelistet, die sich auf diese Klasse beziehen.

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

Wenn die Klasse als Feld referenziert wird, wird der Feldname angezeigt, und wenn sie als Argument / lokale Variable referenziert wird, wird der Konstruktorname oder Methodenname in den Suchergebnissen angezeigt.

Diese Funktion wurde benötigt, wenn ich ein Framework mit angemessener Größe wie Spring Boot gelesen habe.

Andere häufig verwendete Suchfunktionen

Abgesehen von diesen verwende ich häufig die Typensuche und die Ressourcensuche.

In meinem Fall werden diese meiner Meinung nach beim Schreiben des Quellcodes häufiger verwendet als beim Lesen des Quellcodes.

Andere Tools als Eclipse

Neben Eclipse gibt es noch andere Tools, mit denen Sie den Quellcode lesen können. Hier werde ich nur eine kurze Einführung als Bonus geben.

Git

Ich benutze oft git grep und git ls-files. In git grep werden die Option -i und die Option -name-only häufig zusammen verwendet.

Große Projekte wie das Spring Framework müssen häufig zur Suche in Eclipse importiert werden.

unite.vim

unite.vim ist ein Vim-Plug-In, das verschiedene Dinge wie Dateien und Puffer als Datenquellen durchsuchen kann. Es ist äußerst praktisch, aber ich habe ein kleines Problem, weil es auf dem PC meines Unternehmens nicht funktioniert. Ich habe etwas zu erledigen ...

Unite.vim befindet sich übrigens im Wartungsmodus und der Nachfolger ist denite.nvim. Ich muss verändern ...

abschließend

Ich habe die Funktionen vorgestellt, die zum Lesen des Quellcodes mit Java und Eclipse als Betreff nützlich sind, aber wie war es? Wie bereits erwähnt, denke ich, dass andere IDEs ähnliche Funktionen (oder bequemere Funktionen) haben. Lesen Sie daher bitte das Handbuch Ihrer IDE oder fragen Sie die Experten in Ihrer Nähe.

Dieses Mal habe ich die Funktionen von Eclipse speziell geschrieben, aber ich hoffe, ich kann die Denkweise beim Lesen des Quellcodes und andere Ansätze, die zum Lesen des Quellcodes zu einem anderen Zeitpunkt verwendet werden können, ankündigen. Ich bin.

Dann haben alle ein gutes Quellcode-Leseleben!

Recommended Posts

Techniken zum Lesen von Java-Quellcode in Eclipse
Technologie zum Lesen des Quellcodes (Cheet Sheet)
Java-Quellcode zum Lesen der Klasse java.lang.Math
Ermöglichen Sie die Code-Vervollständigung in Eclipse für Mac
Kommentare in der Java-Quelle
Beispielquellcode zum Ermitteln des minimalen gemeinsamen Vielfachen mehrerer Werte in Java
Die automatische Aktivierung des Eclipse-Java-Quellcodes wird bei der Eingabe ausgelöst
Nullsicheres Programm in Java (Eclipse)
Java mit Visual Studio Code
Schreiben Sie Java8-ähnlichen Code in Java8
Erste Java-Entwicklung in Eclipse
[Java] Tipps zum Schreiben der Quelle
Beim Lesen des Quellcodes
Erstellen Sie einen QR-Code für Google Authenticator mit ZXing in Java
Einstellungen für die Eclipse-Installation und die Verstärkung der Codevervollständigung (Mac für Java-Entwicklung)
Java Spring-Umgebung in vs Code
[Für Anfänger] Führen Sie Selenium auf Java aus
[OpenCV3.2.0] Eclipse (Java) -Einstellungen (für Mac)
Versuchen Sie, Selenuim 3.141.59 mit Eclipse (Java) auszuführen.
Hallo Welt von Java in Eclipse jetzt
Vorab geschriebener Quellcode für die Aktivität
Einstellungen für das SSL-Debugging in Java
JPA (Java Persistence API) in Eclipse
Grundstruktur des Java-Quellcodes
Erste Schritte für tiefes Lernen in Java
Wichtige Punkte für die Einführung von gRPC in Java
[JAWS-UG CLI] CodeBuild: # 1 Erstellen von Quellcode (Java)
[Java] Setzen Sie AdoptOpen JDK in STS (Eclipse)
Spielen Sie die Framework 2.6 (Java) -Umgebungskonstruktion mit Eclipse
Praktisches Plug-In für die Eclipse JAVA-Entwicklung: Decompiler
Alle gleichen Hash-Code-Zeichenfolgen in Java
[Java] Fluss vom Quellcode zur Ausführung
[Mac] Installieren Sie Java in Visual Studio Code
Lesen und Schreiben von GZIP-Dateien in Java
[Für Anfänger] So debuggen Sie mit Eclipse
[Java] Eclipse-Verknüpfungen, die verbessert werden können, indem Sie wissen, wann Sie zwischen Quellcode in einem Projekt hin und her wechseln
Technologie-Auszug, mit dem EC-Sites in Java-Schulungen erstellt werden können
Die Ansicht, die zum Ausführen von Java-Code während des Debuggens in Eclipse verwendet wird, ist Debug Shell
[Für Anfänger] Ich habe versucht, DBUnit mit Eclipse zu verwenden
Eclipse Pleiades All in One für Mac
Fügen Sie in Java in Visual Studio Code die Option --enable-Preview hinzu
ChatWork4j für die Verwendung der ChatWork-API in Java
Farbcodierung der Konsolenausgabe in Eclipse
[Für Anfänger] Ich habe versucht, JUnit 5 mit Eclipse zu verwenden
[Java] API-Erstellung mit Jerjey (Jax-rs) mit Eclipse
Führen Sie eine statische Code-Analyse mit Checkstyle mit Java + Gradle durch
Code zum Escapezeichen von JSON-Zeichenfolgen in Java
Bereiten Sie die Protokollausgabe mit log4j in Eclipse vor.
Lösung für NetBeans 8.2 funktioniert nicht in Java 9-Umgebung
Versuchen Sie es mit Sourcetrail (Win-Version) mit Java-Code
Versuchen Sie es mit Sourcetrail (MacOS-Version) mit Java-Code
[AtCoder Problem-ABC001] C-Do Windbeobachtung in Java [Code]
Machen Sie einen Ausschnitt für Thymeleaf in VS Code
Stellen Sie mit vim die Popup-Anzeige für die Java-Sprache ein.
Verarbeitung zum Lesen / Aktualisieren / Aktualisieren von Daten in TableView
Generieren Sie Java-Clientcode für die SOAP-API von SalesForce
[Java-Anfängerangst] In Junit implementierter schwer zu testender Code
[Mac] Java in Visual Studio Code installieren (VS Code)
Vergleichen Sie die PDF-Ausgabe in Java für Snapshot-Tests