Software zum Verständnis des Quellcodes

Ich suche nach einer Open-Source-Software, die mir helfen würde, den Quellcode schneller zu verstehen. Mir sind Tools wie Understand , Source Insight usw. bekannt, aber sie sind kommerziell mit hohen Lizenzgebühren.

Die Software sollte einfach zu bedienen sein, eine grafische Darstellung der Funktionen, Datenstrukturen usw. bieten und es mir ermöglichen, Variablennamen zu ändern und Kommentare in der Software selbst hinzuzufügen.

  • Plattform: Windows oder Linux. Plugins für IDEs sind ebenfalls in Ordnung.
  • Unterstützte Sprachen: C++ und Java, alles darüber hinaus ist ein Plus.

Die Software sollte mit großen Quellcodes wie denen von Linux gut funktionieren.

SonarQube könnte auch etwas für Sie sein. Ich habe es nicht oft benutzt, daher habe ich nicht genug Wissen, um es zu empfehlen.
Hast du OpenGrok ausprobiert? Das Einrichten ist relativ einfach. vineelkumarreddy.com/2015/04/29/…
Nur für andere: CodeScene ist ein weiteres kommerzielles Produkt. Ziel ist es, durch die Analyse der Commit-Historie auch das Team und die Kommunikationswege hinter dem Code zu verstehen.
sieht aus, als wäre Sourcetrail eine gute Alternative: github.com/CoatiSoftware/Sourcetrail und sourcetrail.com

Antworten (1)

Update 27.08.2019: Dieses Tool hat das Ende seiner Lebensdauer erreicht und scheint nicht mehr gewartet zu werden.


Alles in allem würde ich sagen, dass Ihre Wunschliste für ein solches kostenloses Tool ziemlich lang ist. In der letzten Firma, für die ich gearbeitet habe, war ich für die Betreuung von Projekten verantwortlich und habe mich mit Metriken und Code-Qualitätsanalysen vertraut gemacht. Unten sind Informationen zu meinem Wissen von vor ~ 2 Jahren angegeben. Das einzige kostenlose Tool, das ich gefunden habe und das ungefähr Ihren Anforderungen entspricht, ist

ConQAT , das kontinuierliche Qualitätsanalyse-Tool.

Es

  • analysiert Java, C++, C#, ABAP, ADA
  • ist kostenlos ( Apache 2 )
  • integriert sich in Eclipse, sodass Sie wie gewohnt Variablen etc. umbenennen können
  • ermöglicht die Analyse von architektonischen Einschränkungen und Codeklonen
  • funktioniert zumindest unter Windows, bei Linux bin ich mir nicht sicher. Es ist Java-basiert, daher könnte es auch dort funktionieren, wenn Sie keine C#-Unterstützung benötigen.

Bezüglich

  • einfach zu bedienen : Nun, es hängt davon ab, was "einfach" für Sie bedeutet. Die Metriken werden mit einer GUI erstellt, also im Grunde ja. Sie sollten sich jedoch mit Metriken auskennen.
  • Grafische Darstellung der Funktionen : nicht so wie IDA Pro, aber zB mit Treemaps. Es kann auch die Architektur zumindest bis auf Klassenebene visualisieren.
  • große Quellcodes : Ich habe keine Ahnung, wie groß der Quellcode von Linux ist. Bei einem C#-Projekt mit 130k LOC hat es gut funktioniert

Sonstige Anmerkungen (basierend auf Informationen vor 2 Jahren):

  • Das Tool wird in unregelmäßigen Abständen aktualisiert, obwohl das System der Versionsnummerierung darauf hindeutet, dass es 2 Releases pro Jahr gibt.
  • Es ist schwer, Unterstützung zu bekommen, es sei denn, Sie sind bereit, dafür zu bezahlen. Ich habe keine "Community" gefunden, die Fragen beantworten würde.
  • Sie können eigene Informationsanbieter in Java implementieren.
Eine großartige Antwort und ein großartiges Tool. Leider, nachdem Sie dies gepostet haben, zeigt der Link jetzt auf einen Blog-Post, der das Ende der Lebensdauer ankündigt :-(
@Mawg: Danke für den Hinweis. Der Nachfolger TeamScale ist natürlich nicht mehr kostenlos. Der Quellcode von ConQAT sollte unter Apache2-Lizenz verfügbar bleiben, aber ich bezweifle, dass es eine Community geben wird, die dies zum Beispiel als Github-Projekt entwickelt. :-(