Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Klatsch und Tratsch (https://www.delphipraxis.net/34-klatsch-und-tratsch/)
-   -   Neuer FixInsight ist da! (https://www.delphipraxis.net/183874-neuer-fixinsight-ist-da.html)

Insider2004 10. Feb 2015 23:11

Neuer FixInsight ist da!
 
http://sourceoddity.com/fixinsight/

jaenicke 11. Feb 2015 03:10

AW: Neuer FixInsight ist da!
 
Was man aber nicht installieren kann, wenn man schon ein Package installiert hat, das eine Unit MSXML2_TLB enthält. Schade aber auch...

Daniel 11. Feb 2015 07:12

AW: Neuer FixInsight ist da!
 
Ein Link allein ist wenig hilfreich - nicht jeder kann wissen, was "Fixinsight" ist.
Es handelt sich dabei um einen Parser, der den Projekt-Quellcode analysiert und mögliche Defekte aufzeigt. Beispiele für mögliche Problemstellung werden hier gelistet: http://sourceoddity.com/fixinsight/doc.html.
Vom Prinzip her grundsätzlich gut, ich würde dem Projekt noch etwas Zeit geben, zu reifen.

TiGü 11. Feb 2015 08:54

AW: Neuer FixInsight ist da!
 
Sieht ganz brauchbar aus.
Ich ziehe gerade eine Delphi 2007 Anwendung, die noch zu Turbo Pascal Zeiten begonnen wurde, auf XE7 hoch.
Da wurde wirklich alles falsch gemacht, was man falsch machen kann!
Das Tool zeigt mir sehr komfortabel all die Schwachstellen auf.

Danke für den Tipp!

Der schöne Günther 11. Feb 2015 09:17

AW: Neuer FixInsight ist da!
 
Wäre ich jetzt ein Pessimist würde ich sagen "Toll, wieder etwas das eine IDE eigentlich können sollte und ich für jeden Arbeitsplatz zusätzlich nachkaufen muss". Aber ich bin natürlich Optimist in jeder Lebenslage und freue mich :-)

Wenn das Compiler-Output-Fenster nicht so ein steinzeitliches Textausgabefenster wäre könnte das Ding noch viel mehr Potential ausspielen.

Insider2004 11. Feb 2015 09:28

AW: Neuer FixInsight ist da!
 
Die Funktion von FixInsight wäre eigentlich eine Aufgabe des Delphi Compilers. Das hätte man schon vor 10 Jahren einbauen können. Aber EMBA ist mal wieder Lichtjahre hinter der Entwicklung zurück. Vermutlich kaufen die das Tool dann in 4 Jahren auf.

Klaus01 11. Feb 2015 09:31

AW: Neuer FixInsight ist da!
 
Zitat:

Zitat von Insider2004 (Beitrag 1289486)
Die Funktion von FixInsight wäre eigentlich eine Aufgabe des Delphi Compilers.

[OT] wenn wäre es Aufgabe des Parsers [/OT]
Grüße
Klaus

Insider2004 11. Feb 2015 09:36

AW: Neuer FixInsight ist da!
 
Zitat:

Zitat von Klaus01 (Beitrag 1289487)
Zitat:

Zitat von Insider2004 (Beitrag 1289486)
Die Funktion von FixInsight wäre eigentlich eine Aufgabe des Delphi Compilers.

[OT] wenn wäre es Aufgabe des Parsers [/OT]
Grüße
Klaus


Der Delphi-Compiler besteht aus einem Parser.

P.S. http://de.selfhtml.org/html/allgemei...szeichnung.htm

Bernhard Geyer 11. Feb 2015 09:47

AW: Neuer FixInsight ist da!
 
Zitat:

Zitat von Insider2004 (Beitrag 1289488)
Der Delphi-Compiler besteht aus einem Parser.

P.S. http://de.selfhtml.org/html/allgemei...szeichnung.htm

Glaube nicht das im Delphi-Compiler ein HTML-Parser eingebaut ist.
Und so alt wie der 32-Bit Compiler ist, ist es fraglich ob er sowas wie einen eigentständigen Parser hat oder alles irgenwie in einer 2 Mio. Zeilen umfassenden main-funktion liegt.

Bernhard Geyer 11. Feb 2015 09:48

AW: Neuer FixInsight ist da!
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1289485)
Wenn das Compiler-Output-Fenster nicht so ein steinzeitliches Textausgabefenster wäre könnte das Ding noch viel mehr Potential ausspielen.

Und was soll hier besser sein? Alle modernen IDEs haben so ein steinzeitliches Fenster mit der maximalen Funktion an die entsprechende Quellcodezeile zu springen.

Stevie 11. Feb 2015 09:53

AW: Neuer FixInsight ist da!
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1289485)
Wäre ich jetzt ein Pessimist würde ich sagen "Toll, wieder etwas das eine IDE eigentlich können sollte und ich für jeden Arbeitsplatz zusätzlich nachkaufen muss". Aber ich bin natürlich Optimist in jeder Lebenslage und freue mich :-)

Gut, dass du es nicht gesagt hast - es wäre nämlich falsch gewesen.
Es gibt die sogenannten QA Audits - die können ein klitzekleines bisschen mehr, als FixInsight. Allerdings sind die meisten davon erst ab Enterprise enthalten.

TiGü 11. Feb 2015 09:59

AW: Neuer FixInsight ist da!
 
Zitat:

Zitat von Stevie (Beitrag 1289493)
Es gibt die sogenannten QA Audits - die können ein klitzekleines bisschen mehr, als FixInsight. Allerdings sind die meisten davon erst ab Enterprise enthalten.

Jedes Mal wenn ich bei den bisherigen Testversionen vom RAD Studio, die ja alle Features der Architect haben, die Audits auf den von mir zu betreuenden Code losgelassen habe, gab es zwar den ein oder anderen netten Hinweis, aber oft war das (gefühlt) auch falsch angemeckert.

Der schöne Günther 11. Feb 2015 10:04

AW: Neuer FixInsight ist da!
 
Oh, dann lag ich wohl wirklich falsch. Ich kannte im RAD Studio nur die Audits für C++-Code, nicht aber für Delphi. Hatte mich auf den Delphi-Tagen '14 schon gewundert von welchen Audits für Delphi Bernd Ua denn spricht. Muss ich mich mal schlau machen...

Insider2004 11. Feb 2015 11:58

AW: Neuer FixInsight ist da!
 
FixInsight funktioniert, die Audits von Delphi tun das nicht (wahrscheinlich weil wieder mal Java-, j#-, c#-basiert).

Daniel 11. Feb 2015 12:03

AW: Neuer FixInsight ist da!
 
Zitat:

Zitat von Insider2004 (Beitrag 1289512)
die Audits von Delphi tun das nicht

Inwiefern? Ich lasse mir regelmäßig Berichte über meine Projekte generieren.
Oder hast Du wieder Deine 5 Trollminuten?

mkinzler 11. Feb 2015 12:06

AW: Neuer FixInsight ist da!
 
Zitat:

Oder hast Du wieder Deine 5 Trollminuten?
Die letzten waren auch schon 5 Minuten her ;)

Insider2004 11. Feb 2015 13:03

AW: Neuer FixInsight ist da!
 
Together funktioniert wahrscheinlich höchstens auf einem neuen PC, aber nicht auf einem eingespieltem.

jaenicke 11. Feb 2015 21:42

AW: Neuer FixInsight ist da!
 
Mit eingespielt meinst du also kaputt konfiguriert? Und was kann da eine Software dafür, wenn es dann nicht geht?

Mein Windows ist stets sauber eingerichtet und ich hatte derlei Probleme noch nie.

himitsu 12. Feb 2015 00:01

AW: Neuer FixInsight ist da!
 
Zitat:

Zitat von Daniel (Beitrag 1289468)
Es handelt sich dabei um einen Parser, der den Projekt-Quellcode analysiert und ...

Ich bin aber immernoch der Meinung, daß Emba endlich mal seinen Parser "öffentlich" zugänglich machen sollte
und die sollten vorallem in ihren eigenen Projekten endlich mal überall den selben Parser benutzen,
denn Error-Insight und Compiler meinen ja oft was Anderes.

Also nicht unbedingt kompltt öffentlich, aber wenigstens so, wie man es z.B. von PHP kennt, wo es eine Funktion gibt, welche PHP-Code parsen kann.
http://php.net/manual/de/function.token-get-all.php

So gäbe es endlich mal eine Möglichkeit, daß Tools immer jeden Delphi-Code für die aktuelle Delphi-IDE verstehen und nicht so ein dreck passiert, wo z.B. das Documentation-Insight bei gewissen Strukturen (vorallem bei "aktuellen" Sachen bei den Conditional-Expressions, Generics oder Class-Helpern) einfach so verreckt.
Und als Bonus könnte es ausversehn passieren, daß danach das Error-Insight auch seine letzten Probleme los wird.

Bernhard Geyer 12. Feb 2015 07:34

AW: Neuer FixInsight ist da!
 
Zitat:

Zitat von himitsu (Beitrag 1289587)
Ich bin aber immernoch der Meinung, daß Emba endlich mal seinen Parser "öffentlich" zugänglich machen sollte
und die sollten vorallem in ihren eigenen Projekten endlich mal überall den selben Parser benutzen,
denn Error-Insight und Compiler meinen ja oft was Anderes.

Ich denke mit dem LLVM-Ansatz beim 64-Bit/ARM-Compiler ist man schon auf dem Weg. 32-Bit Compiler ist uralt - Da wird man nicht zu viel "öffentlich" mehr machen können und das beim Error-Insight ein ander Parser drin ist, ist dem (für Delphi) Irrweg .net geschultet. Ist also auch noch ein Altlast.

himitsu 12. Feb 2015 09:27

AW: Neuer FixInsight ist da!
 
Jupp, gerade für LLVM brauchen die doch sowieso einen "Parser", um das Zeug in Ruhe übersetzen zu können?

Roman Yankovsky 18. Feb 2015 12:33

AW: Neuer FixInsight ist da!
 
Zitat:

Zitat von jaenicke (Beitrag 1289464)
Was man aber nicht installieren kann, wenn man schon ein Package installiert hat, das eine Unit MSXML2_TLB enthält. Schade aber auch...

Dieses Problem wurde in den neuesten Stand zu fixiert. Bitte versuchen Sie :)

jaenicke 18. Feb 2015 14:24

AW: Neuer FixInsight ist da!
 
Ja, vielen Dank, das funktioniert nun sehr gut. Ich kann es nun auch richtig testen, wenn ich es auf unsere größeren Projekte loslasse, mal schauen was dabei so herauskommt.

Wenn die Ergebnisse entsprechend gut sind, wäre der Preis ja gut.

Der schöne Günther 18. Mär 2015 19:53

AW: Neuer FixInsight ist da!
 
Großer Gott, ich saß jetzt bestimmt 30-45 Minuten an einem Problem das schlichtweg darin begründet lag dass ein Schlaubold das
Delphi-Quellcode:
inherited
im Destruktor weggelassen hat. Nichts hat mich weitergebracht bis ich es eher durch Zufall gefunden hatte.

Ich glaube langsam auch dass wir das Tool brauchen :bounce2:

Stevie 23. Mär 2015 09:26

AW: Neuer FixInsight ist da!
 
Gibt ne neue Version:

Zitat:

What's new?
* Introduced rule C108 ("Nested WITH statement")
* Introduced rule W521 ("Return value of function might be undefined")
* Improved compiler directives handling in IDE expert
* Improved rule W519 ("Method is empty")
* Improved parser
* Minor fixes

Der schöne Günther 23. Mär 2015 09:34

AW: Neuer FixInsight ist da!
 
Zitat:

Zitat von Stevie (Beitrag 1294469)
* Introduced rule W521 ("Return value of function might be undefined")

Großer Gott, ja!



PS: Jetzt wollte ich es endlich einmal ausprobieren, scheitere schon an der Installation.
  1. Setup ausführen
  2. Bpl hinzufügen (wozu dann das Setup?)
  3. Und jetzt?


PPS: Ooh, es versteckt sich im Menü "Projekt". Aber warum konnte es dann die magische F6-Taste mit "Fix" nicht finden?

PPPS: Huh, da muss sich aber noch was tun. Ich habe schon zwei verschiedene Wege gefunden ihn mit einem "Fatal Parse Error" aus der Bahn zu werfen.

Uwe Raabe 23. Mär 2015 10:23

AW: Neuer FixInsight ist da!
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1294472)
PPPS: Huh, da muss sich aber noch was tun. Ich habe schon zwei verschiedene Wege gefunden ihn mit einem "Fatal Parse Error" aus der Bahn zu werfen.

Hast du das schon gemeldet (support@sourceoddity.com)? Andernfalls könnte es länger dauern, bis das behoben wird.

Oder hier: http://fixinsight.userecho.com/

Der schöne Günther 23. Mär 2015 10:30

AW: Neuer FixInsight ist da!
 
Eine Email hatte ich geschrieben, die UserVoice-Seite kannte ich hingegen überhaupt nicht. Danke! :thumb:

Daniel 23. Mär 2015 10:42

AW: Neuer FixInsight ist da!
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1294472)
PPPS: Huh, da muss sich aber noch was tun. Ich habe schon zwei verschiedene Wege gefunden ihn mit einem "Fatal Parse Error" aus der Bahn zu werfen.

Selbst Schuld. Zumindest laut Nick Hodges. FixInsight verwendet ein Derivat des Castalia-Parsers und dazu schreibt Nick in seinem aktuellen Blog-Eintrag:
Zitat:

If Castalia has trouble parsing your code, then the first place you should look to solve the problem is in your code.
Also räum gefälligst Deinen Code auf, bevor Du Bug-Einträge erzeugst.
:mrgreen:
...
:wall:

Uwe Raabe 23. Mär 2015 10:51

AW: Neuer FixInsight ist da!
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1294479)
die UserVoice-Seite kannte ich hingegen überhaupt nicht. Danke! :thumb:

Kannte ich vorher auch nicht, wurde aber in der email für das Update erwähnt. Was mich ein bisschen stört: die Links in der email laufen alle über srclick.ru :?

jaenicke 23. Mär 2015 11:00

AW: Neuer FixInsight ist da!
 
Zitat:

Zitat von Stevie (Beitrag 1294469)
* Introduced rule C108 ("Nested WITH statement")

Fehlt nur noch "WITH statement" an sich, denn wenn ich das nested richtig verstehe, meldet es ja nur with innerhalb eines with, oder?

Neuer Code mit with kann bei uns schlicht nicht mehr eingecheckt werden, aber als Qualitäts- und Stabilitätsprüfung des Codes wäre auch die Prüfung auf die Verwendung von with an sich als Regel sinnvoll.

mkinzler 23. Mär 2015 11:17

AW: Neuer FixInsight ist da!
 
Zitat:

Zitat von Daniel (Beitrag 1294481)
Zitat:

Zitat von Der schöne Günther (Beitrag 1294472)
PPPS: Huh, da muss sich aber noch was tun. Ich habe schon zwei verschiedene Wege gefunden ihn mit einem "Fatal Parse Error" aus der Bahn zu werfen.

Selbst Schuld. Zumindest laut Nick Hodges. FixInsight verwendet ein Derivat des Castalia-Parsers und dazu schreibt Nick in seinem aktuellen Blog-Eintrag:
Zitat:

If Castalia has trouble parsing your code, then the first place you should look to solve the problem is in your code.
Also räum gefälligst Deinen Code auf, bevor Du Bug-Einträge erzeugst.
:mrgreen:
...
:wall:

§1: A macht niemals Fehler.
§2: Sollte A, widererwartens einen Fehler machen gilt automatisch §1.
;)

Stevie 24. Mär 2015 07:12

AW: Neuer FixInsight ist da!
 
Zitat:

Zitat von Daniel (Beitrag 1294481)
Zitat:

Zitat von Der schöne Günther (Beitrag 1294472)
PPPS: Huh, da muss sich aber noch was tun. Ich habe schon zwei verschiedene Wege gefunden ihn mit einem "Fatal Parse Error" aus der Bahn zu werfen.

Selbst Schuld. Zumindest laut Nick Hodges. FixInsight verwendet ein Derivat des Castalia-Parsers und dazu schreibt Nick in seinem aktuellen Blog-Eintrag:
Zitat:

If Castalia has trouble parsing your code, then the first place you should look to solve the problem is in your code.

Was für ein Schwachsinn, den Nick da schreibt.
Übrigens benutzt FixInsight DelphiAST und das ist weiter entwickelt als Castalia.
Immerhin spuckt FixInsight aber die Zeile des Fehler aus und gibt nicht sang und klanglos den Geist auf (oder lässt die IDE krachen...)

Roman Yankovsky 24. Mär 2015 08:04

AW: Neuer FixInsight ist da!
 
Sorry guys, I don't speak German. I will reply in English, I hope this doesn't violate the website policy.

Zitat:

Zitat von Der schöne Günther (Beitrag 1294472)
PPPS: Huh, da muss sich aber noch was tun. Ich habe schon zwei verschiedene Wege gefunden ihn mit einem "Fatal Parse Error" aus der Bahn zu werfen.

Usually I fix parser issues pretty fast. Please let me know the details, maybe a small piece of code. The email is support@sourceoddity.com

It's a little bit not correct to say that FixInsight uses Castalia parser. It uses DelphiAST which is built on the top of CastaliaDelphiParser and was much improved. So it's not something like "parser is good, you have to fix your own code". Please let me know about the issues and I will fix them.

Zitat:

Zitat von Uwe Raabe (Beitrag 1294482)
Zitat:

Zitat von Der schöne Günther (Beitrag 1294479)
die UserVoice-Seite kannte ich hingegen überhaupt nicht. Danke! :thumb:

Kannte ich vorher auch nicht, wurde aber in der email für das Update erwähnt. Was mich ein bisschen stört: die Links in der email laufen alle über srclick.ru :?

That's nothing more than a click counter for stats :)

Sherlock 24. Mär 2015 08:30

AW: Neuer FixInsight ist da!
 
Welcome Roman, it's OK to post in english. Stop by here more often ;)

Sherlock

Daniel 24. Mär 2015 08:44

AW: Neuer FixInsight ist da!
 
Zitat:

Zitat von Roman Yankovsky (Beitrag 1294576)
Sorry guys, I don't speak German. I will reply in English, I hope this doesn't violate the website policy.

Au contraire, mon ami. ... oh wait, that was french. ehm - well, it's great having you here. :-)

freimatz 24. Mär 2015 10:36

AW: Neuer FixInsight ist da!
 
Hallo,
habe heute mal die Demo installiert. Bei Aufruf mit einem meiner Projekte kommt ein EStringListError in Classes.TFileIterator.Next. (nach madExcept) Eine Ausgabe kommt dann bei continue trotzdem. Umständlich ist, dass mich die meisten units des Projektes gar nicht insteressieren.
Bei Aufruf von Kommandozeile geht gar nichts. D.h. FixInsightCL nacht eine kleine Pause und beendet dann. Zumindest bei --output und --xml hätte ich eine leere xml erwartet.

Roman Yankovsky 24. Mär 2015 21:47

AW: Neuer FixInsight ist da!
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von freimatz (Beitrag 1294603)
Hallo,
habe heute mal die Demo installiert. Bei Aufruf mit einem meiner Projekte kommt ein EStringListError in Classes.TFileIterator.Next. (nach madExcept) Eine Ausgabe kommt dann bei continue trotzdem. Umständlich ist, dass mich die meisten units des Projektes gar nicht insteressieren.
Bei Aufruf von Kommandozeile geht gar nichts. D.h. FixInsightCL nacht eine kleine Pause und beendet dann. Zumindest bei --output und --xml hätte ich eine leere xml erwartet.

The EStringListError is fixed today.
Please download the latest build http://sourceoddity.com/download/Fix...upd1_setup.exe

Unfortunately, I cannot reproduce the issue with FixInsightCL. Could you do me a favor and help to debug it? If so, in your IDE click on Help -> About FixInsight and check "Debug Mode" option (see attached screenshot). Then run FixInsightCL and reproduce the issue. After that send me *.filog file (this log file will be created in your project folder). This will help me a lot to debug the issue.

Der schöne Günther 25. Mär 2015 09:21

AW: Neuer FixInsight ist da!
 
How can one surpress FixInsight warnings locally? I might, for example, leave an overridden virtual method empty on purpose. FixInsight is correctly raising a W519 here but the code is entirely valid and working as intended.


Oh, and while we're at it: There must be an option to exclude files. If you got some third party sources, gnugettext.pas for example, you're also going to get warnings on files you definitely don't want to modify.

I'm sure this is already on uservoice but I haven't bothered to check :oops:


One last thing: C104 ("Class name should start with 'T'") is true, but I suppose it doesn't apply to attributes.
Embarcaderos examples omit the "T".
Also, Marco Cantus new book states
Zitat:

So if you name your class
Delphi-Quellcode:
SimpleAttribute
you'll be able to use in the code an attribute called
Delphi-Quellcode:
Simple
or
Delphi-Quellcode:
SimpleAttribute
. For this is the reason the classic initial
Delphi-Quellcode:
T
for Object Pascal classes is generally not used in case of attributes.

Roman Yankovsky 26. Mär 2015 09:52

AW: Neuer FixInsight ist da!
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1294725)
How can one surpress FixInsight warnings locally?

You may use _FIXINSIGHT_ compiler conditional. It works just like a real compiler directive.

For example,
Delphi-Quellcode:
{$IFNDEF _FIXINSIGHT_}
  ThisCodeWillBeIgnored(1,2,3);
{$ENDIF}
I have to add this to the documentation. I have never expected that so many people will need this functionality :)

Zitat:

Zitat von Der schöne Günther (Beitrag 1294725)
There must be an option to exclude files. If you got some third party sources, gnugettext.pas for example, you're also going to get warnings on files you definitely don't want to modify.

Yes, this would be great. It's on my todo list.

Zitat:

Zitat von Der schöne Günther (Beitrag 1294725)
One last thing: C104 ("Class name should start with 'T'") is true, but I suppose it doesn't apply to attributes.

Agree. I will fix this :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:41 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz