CheckVar - Variablenüberprüfung

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
gnasen
Beiträge: 578
Registriert: 01.08.2007 14:28
Computerausstattung: PB 4.60

CheckVar - Variablenüberprüfung

Beitrag von gnasen »

Hallo,
da es mich selber gestört hat wenn unbenutzte Variablen oder Variablen, die nichts weiter machten als eine Konstante es könnte, in meinem Code rumlungern habe ich dieses kleine Plugin für die IDE geschrieben.

Alle weitere Infos sowie den Download findet ihr im Originalthread:
http://www.purebasic.fr/english/viewtopic.php?t=35738

Bilder:
Bild
Bild
Bild
Bild

Hoffe ihr könnt damit etwas anfangen. Funktioniert sowohl losgelöst, als auch wie gezeigt in der IDE eingebunden.

Macros und IncludeFile wird bisher ignoriert, hole ich vllt noch nach.

Viel Spass damit
pb 4.51
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: CheckVar - Variablenüberprüfung

Beitrag von Kiffi »

Hallo gnasen,

danke für das Tool! Habe ich schon heute morgen testen können. Mir sind
einige Seltsamkeiten aufgefallen. Hier erst mal ein simples Beispiel:

Code: Alles auswählen

Procedure Main()
  Protected la
  la=42
EndProcedure

Main()
Analyse Deines Tools:
Procedures: Main()
Calls: 2
Variables: 0
Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
gnasen
Beiträge: 578
Registriert: 01.08.2007 14:28
Computerausstattung: PB 4.60

Beitrag von gnasen »

Main() ist verboten ;)

Ich habe, um alles "normale", nicht in einer Prozedur vorhandene, zu prüfen, einfach den gesamt code in die Prozedur Main() gepackt.

Wenn du Main() ein zweites mal deklarierst, wird er die erste Deklaration von Main(), meine, verwenden.

Aber guter Hinweis, werde es ändern.

-> zum testen, ändere mal deine Proc um, zB zu blub(), so erhältst du:

Main() mit einem Call (sprich der Code wird "gestartet")
blub() mit einem Call (von Main() )
-- mit der Variable "la" welche einen Wert erhält ("value changes")
pb 4.51
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

gnasen hat geschrieben:-> zum testen, ändere mal deine Proc um, zB zu blub(), so erhältst du:
... leider nicht das richtige ;-)

Code: Alles auswählen

Procedure bla()
  Protected la
  la=42
EndProcedure

bla()
ergibt:
Procedures: Main()
Calls: 1
Variables: 0
erwarten würde ich
Procedures: Main()
Calls: 1
Variables: 0
Procedures: bla()
Calls: 1
Variables: 1

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
gnasen
Beiträge: 578
Registriert: 01.08.2007 14:28
Computerausstattung: PB 4.60

Beitrag von gnasen »

neue Version ist oben.
Nennt jetzt jemand seine Prozedur genauso wie ich meine "haupt" procedure (und ich habe sie per Kopf-über-tastatur-Roll-Methode bestimmt) dann gibts Lasche :lol:

Edit: Habs nochmal probiert, eins zu eins kopiert, getestet: Richtiges Ergebnis.

Ich nutze 4.2, nutzt du was anderes, falls du über den Quellcode testest?
pb 4.51
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

die Idee mit dem Main() finde ich aber mal nicht so gelungen....
dazu ist der name viel zu allgemein verbreitet.

wenn du unbedingt eine brauchst, nenn die lieber Gnasens_Programm_Container_zum_Testen()
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

gnasen hat geschrieben:Edit: Habs nochmal probiert, eins zu eins kopiert, getestet: Richtiges Ergebnis.
jetzt (mit der neuen Version) ja :-)
gnasen hat geschrieben:Ich nutze 4.2, nutzt du was anderes
ich wage mal zu behaupten, dass der Code so simpel ist, dass es egal ist,
welche PB-Version ich verwende. ;-)

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
gnasen
Beiträge: 578
Registriert: 01.08.2007 14:28
Computerausstattung: PB 4.60

Beitrag von gnasen »

ich wage mal zu behaupten, dass der Code so simpel ist, dass es egal ist,
welche PB-Version ich verwende. ;-)
Der Code ist durchaus sehr simpel, trotzdem habe ich leider noch keinen Überblick über die Änderungen von 4.2 zu 4.3
Muss mir unbedingt mal die Update-Änderungen zu Gemüte führen, auch wenn ich vorerst noch bei 4.2 bleibe bis mein Hauptprojekt fertig ist.
pb 4.51
THEEX
Beiträge: 804
Registriert: 07.09.2004 03:13

Beitrag von THEEX »

Variablen, die nichts weiter machten als eine Konstante es könnte
Ich versteh nicht so ganz, was damit gemeint sein soll...
Eine Art Query-Planner soll die Ausführung von Map/Reduce-Funktionen in Hadoop stark beschleunigen.
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

Ich denke er meint Variablen die nur einmal gesetzt werden und sonst immer nur gelesen werden. Das könnte man mit einer Konstante auch, bräuchte weniger Speicher und währe schneller.
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Antworten