Gibt es einen Fachbegriff für Live Codeüberprüfung?

Kokujou

Lieutenant
Registriert
Dez. 2017
Beiträge
929
Hi!
Ich suche öfter aber ich finde nie. Bei den meisten IDEs werden doch Fehler und Warnungen angekringelt. Wenn du also eine nicht-definierte Variable verwendest kriegst du sofort und ohne erst alles ausführen zu müssen die Fehlermeldung und kannst gar nicht erst builden. Aber... wie heißt das eigentlich?

Hintergrund meiner Frage ist folgender: Ich suche Tools die sowas möglichst umfangreich für Powershell und AngularJS hinbekommen.

Bei Angular gibt es sowas vermutlich... ich nutze aktuell Visual Studio, hatte aber bei meinem ersten Projekt unendlich viele Probleme die ein Compiler hätte anmeckern müssen und die ich, weil ers nicht getan hat, nie gefunden habe. Sowas wie Dependencies die nicht injected worde oder so.

Ich bin in beidem ein Anfänger und brauche irgendwas was mir zumindest den Kleinkram erspart.

bei Powershell wirds vermutlich schwieriger aber... es wäre trotzdem super wenn man da irgendwas hätte, was ne Fehlerüberprüfung macht. Ich versteh ja dass man bei PS die LIve-Ausführung haben will aber ne Codeuntersuchung kann man trotzdem dazwischenschieben.
 
@Kokujou Bei Microsoft heisst das Feature IntelliSense. Für Skriptsprachen würde ich nicht Visual Studio sondern Visual Studio Code verwenden. Da gibts sehr viele Plugins und Extensions die dir verwchiedenste Funktionen für verschiedenste Sprachen bieten. Aucb Live-Codeüberprüfung.
 
new Account() schrieb:
Naja, eigentlich meist direkt beim Schreiben vom Code, automatisch durch die IDEs
Ne, "Lint" ist ein Tool zur statischen Codeanalyse und wird eben nicht direkt beim Schreiben des Codes angewandt, sondern auf fertige Code-Einheiten (meist einzelne Module oder ganze Projekte) und geht deutlich über Syntax-Überprüfung hinaus. Es macht ja auch kaum Sinn die vielfältigen Überprüfungen von Lint (oder vergleichbaren Tools) "live" auf unfertigen Code loszulassen.

Kann sein, dass der Begriff "Linting" auch in anderem Kontext verwendet wird, aber ich kenne den Begriff nur im Zusammenhang mit statischer Codeanalyse.
 
Zuletzt bearbeitet:
CLion (und auch die restlichen Jetbrains IDEs) beispielsweise führt eine statische Code-Analyse direkt (u.a. cpp-check) direkt beim Schreiben durch und markiert entsprechend Problemstellen.
Oft wird direkt noch ein Rewrite über Shortcuts angeboten.

Das Selbe kenne ich auch bei VSCode Plugins (z.B. Latex) oder Visual Studio.
Ergänzung ()

feynman schrieb:
Es macht ja auch kaum Sinn die vielfältigen Überprüfungen von Lint (oder vergleichbaren Tools) "live" auf unfertigen Code loszulassen.
Warum sollte das keinen Sinn machen?

Direktes Feedback beim Schreiben, kein unnötiges Selbstlaufenlassen ftw.
 
Wisst ihr ob es sowas für Powershell gibt?
Ich meine ja, Powershell ist für Live-Ausfürhung gedacht und da wird nichts kompiliert... und wenn doch passiert auch das iwie live. Aber es ist verdammt stressig wenn mir das Ding jedes Mal auf die nase fällt wenn ich falsch Escape oder mich bei ner Variable verschrieben habe und de rmir das nicht anmeckert...

Und jetzt stell sich einer vor ich benutze das im Zusammenhang mit einer 30minütigen Online-Releasepipeline... buah... Ich meine größere Logikfehler nehm ich auf meine Kappe aber jeder übersieht mal ein Komma oder kommt mit dem Escaping das manchmal richtig übel gemacht werden mus durcheinander.

Kurz zum Thema Visual Studio Code... Was ist der Unterschied zu Visual Studio? Ihr sagt da gibts viele Erweiterungen und Plugins aber gibts die bei Visual Studio nicht genauso?
 
new Account() schrieb:
Warum sollte das keinen Sinn machen?

Direktes Feedback beim Schreiben, kein unnötiges Selbstlaufenlassen ftw.
Wie gesagt macht statische Codeanalyse deutlich mehr als nur Synthax-Checking oder ähnliches, das während der Eingabe überprüft werden kann. Für viele Überprüfungen ist eben der Kontext der ganzen Code-Einheit wichtig.
 
mal was anderes, gibt's ne offizielle Bezeichnung für die Powershell Programmiersprache oder heißt die einfach Powershell?
 
Heißt einfach Powershell.

Visual Studio Code ist ein wirklich mächtiger Editor mit Compiler und Debugger. ( bitte reißt mir nicht den Kopf ab wegen dieser Erklärung)
Visual Studio ist eine vollwertige IDE mit allem was man für größere Projekte braucht.

Powershell kannst gut mit Visual Studio Code entwickeln es steht auch Intellisens zur Verfügung das ist sehr hilfreich.

Linting und live Code Analyse ist bei Powershell nicht möglich da ja eigentlich kein Compiler verwendet wird um den Sourcecode zu übersetzen.
 
new Account() schrieb:
Warum sollte das keinen Sinn machen?

Direktes Feedback beim Schreiben, kein unnötiges Selbstlaufenlassen ftw.

Weil es beim Code-eintippen und beim Anlegen von jeder Function ununterbrochen Meckern würde ?
 
pvcf schrieb:
Weil es beim Code-eintippen und beim Anlegen von jeder Function ununterbrochen Meckern würde ?
welche IDE meckert nicht ununterbrochen (zumindest nachdem man absetzt), wenn syntaktische Fehler da sind (übrigens auch eine statische Code-Analyse)?
 
Diejenige(n), welche ich benutze, Microsoft Visual C++, da wird erst beim Compilieren richtig reingeguckt.
Für Lua nehm ichUltraEdit, da werden in Realtime nur Klammerfaltungen gecheckt, die Probleme werden
dann vom Debugger des Programms beim ersten Test in seiner Konsole ausgespuckt.

Ich merke aber dass die Diskussion hier mit dir zu nix führt, offensichtlich hast du eine völlig andere IDE Arbeitsweise/Phillosphie, lassen wir das also mal lieber.
 
pvcf schrieb:
Diejenige(n), welche ich benutze, Microsoft Visual C++, da wird erst beim Compilieren richtig reingeguckt.
Hierfür empfehle ich: https://www.jetbrains.com/resharper-cpp/
pvcf schrieb:
offensichtlich hast du eine völlig andere IDE Arbeitsweise/Phillosphie, lassen wir das also mal lieber.
ja, in der Tat: Codeanalyse direkt beim Coden erhöht imho nicht nur den Lerneffekt (weil man Probleme direkt beim Schreiben entdeckt und gerade über die Sache nachdenkt, die man macht), sondern erhöht auch die Qualität vom Code, da man so ggf. ein Problem früher erkennt (statt später dann ein Refactoring machen zu müssen) und erhöht die Geschwindigkeit im Gesamten (da man die Codeanalyse nicht manuell starten muss, weniger Nacharbeiten (bei welchem man sich ggf. wieder in den Kontext versetzen muss))

Mit Lua habe ich schon lange nichts mehr gemacht, aber ich habe gerade gesehen, dass Jetbrains hier auch eine Alternative hat: https://plugins.jetbrains.com/plugin/5055-lua
Lediglich eine Klammenüberprüfung zu haben wäre mir schon zu anstrengend. Da kann ich auch Notepad++ nutzen.
 
Zuletzt bearbeitet:
Ja Resharper. Das kommt noch auf mich zu im Bereich C#.

Ich würde mir wirklich wünschen dass es was für Powershell gebe denn das ist reiner Cancer. Und da ich aktuell viel mit Kontext arbeite kann ich nicht ohne weiteres auf play klicken und auf die Art Fehlerüberprüfung machen. Jeder Debug-SChritt dauert bei mir quasi also 30 Minuten, das ist kein effizientes Entwickeln mehr wenn ich wegen Komma-Fehlern und diesem krankhaften Escapen via `" und ' und vielleicht dann einmal mit Backslashes einmal ohne Backslashes und einmal dürfens keine Back sondern Frontslashes (/) sein.
 
  • Gefällt mir
Reaktionen: new Account()
Hier, @new Account() und @pvcf ihr beiden mit euren Live-Linting und späteren Codeanalysen bei C++ redet fröhlich aneinander vorbei.
Bei C++ kann man nur einfache Prüfungen auf die Syntax beim Tippen machen, eine komplette "statische Codeanalyse live durchzuführen" funktioniert nur vernünftig bei Sprachen, die durch einen Interpreter laufen und nicht bei welchen, die durch einen Compiler laufen müssen.
Es gibt Programme, Firefox hust, die kompilieren auf echt schnellen Workstations mehrere Stunden lang - und eine statische Codeanalyse dauert da auch mindestens mehrere Minuten. Das wäre "live beim Eintippen" doch recht umständlich.
 
ayngush schrieb:
Bei C++ kann man nur einfache Prüfungen auf die Syntax beim Tippen machen, eine komplette "statische Codeanalyse live durchzuführen" funktioniert nur vernünftig bei Sprachen, die durch einen Interpreter laufen und nicht bei welchen, die durch einen Compiler laufen müssen.
Naja. Es geht schon auch bei sogenannten Compilersprachen. Hier ist es eher konkret ein Problem von C++ das halt sehr komplex ist und dementsprechend schwierig zu analysieren (merkt man auch an den langen Compile-Zeiten). Daher ist hier ein analzye-at-your-fingertips nicht praktikabel.
 
  • Gefällt mir
Reaktionen: Kanibal, areiland und pvcf
Zurück
Oben