Schrift
[thread]10977[/thread]

Programmierhilfen/Editor-Funktionen

Leser: 2


<< >> 9 Einträge, 1 Seite
Hagen
 2007-12-07 23:57
#103606 #103606
User since
2007-09-06
233 Artikel
BenutzerIn
[default_avatar]
Hallo,

meine Progammier-Erfahrungen und Projekte wachsen mit der Zeit, so dass es immer häufiger vorkommt, dass ich auch "Fremd-Code" benutzte bzw. in/mit "fremden Projekten" arbeite.

Bei den eigenen Projekten/Scripten wußte man meistens, was man wo und warum verbaut hat, wo Bezüge zwischen lokalen und globen Variablen bestehen, wo per require Code eingebunden wird usw. Interessanter wird es schon, wenn man sich in ((sehr) umfangreich) Scripte einarbeiten muss und diese ggf. erweitern darf.

Was gibt es hier für Hilfen um möglichst schnell die Strukturen und Funktionsweisen zu verstehen.

Bisher habe ich unter Windows immer Ultra-Edit genutzt. Dieser kann an der Seite eine Funktionsübersich des aktuellen Scripts anzeigen. Unter Linux habe ich Geany entdeckt. Dieser kann neben den Funktionen auch teilweise Variablen anzeigen.

Das ist immerhin ein Anfang ... aber ist noch mehr möglich? ... z.B. ein Flußdiagramm der Funktionsaufrufen ... oder welche Funktion welche Variablen nutzt ... oder welche Packete genutzt werden?

Welche Hilfsmittel nutzt ihr?

Gruß

Hagen
Gruß
Hagen
lichtkind
 2007-12-08 01:30
#103609 #103609
User since
2004-03-22
5680 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
outlinig hilft, das kann cb. epic, mein editor leider noch nicht. damit siehst sofort was für subs und variablen da sind und sind deren namen sinnig gewählt ist das schon ein großer schritt fürs verständnis.

manchmal hilf schon eine anderes formatieren mit perl::Tidy oder seine eignen syntaxregeln mit Perl::Critic einzuführen.

viele gute hinweise für den umgang mit fremden code gibt auch das buch "perl medic".
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
Hagen
 2007-12-14 00:07
#103864 #103864
User since
2007-09-06
233 Artikel
BenutzerIn
[default_avatar]
Outlining oder Syntaxhiglight ist schon recht angenehm.

Ich dachte aber mehr so an Funktionen wie automatische Fluß- bzw. Abhängigkeitsdiagramme, d.h. welche Routine von welcher aufgerufen wird.

Oder dass man durch einen Doppelklick auf den Aufruf automatisch zu der Routine hinspringt (die sich ggf. in einer anderen Datei befindet).
Gruß
Hagen
nepos
 2007-12-14 10:16
#103869 #103869
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Sowas habe ich noch nie gesehen und noch nie gebraucht. Denke auch, das gehört eher in die Profiling/Codeanalyse-Ecke als in einen Editor.
lichtkind
 2007-12-14 14:19
#103883 #103883
User since
2004-03-22
5680 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
wobei es schon nützlich ist sowas aus dem editor aus zu steuern, weil es schon inhaltlich miteinander zu tun hat und es oft nicht wirklich angenehm ist ein völlig neues programm zu starten nur um einen schritt weiter zu gehen.
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
Hagen
 2007-12-14 23:10
#103900 #103900
User since
2007-09-06
233 Artikel
BenutzerIn
[default_avatar]
Gibt es denn so etwas? Bisher habe ich noch nichts gefunden.

Outlining oder Syntaxhiglight habe ja schon "relativ viele" Editoren. Unter Windows zeigt UltraEdit schon mal Routinen innnerhalb der Datei an. Das gleiche macht gedit unter Linux. Probiere gerade Geany unter Linux aus (Editor). Dieser zeigt auch Variablen in einer Übersicht an bzw. hat in diesem Bereich eine Auto-Vervollständigen-Funktion.

Das Thema mit den (weiteren) Routinen in 'externen' Dateien würde mich aber mehr interessieren. Kann Eclipse so etwas? (Bin leider (noch) nicht dazu gekommen es aus zu probieren)
Gruß
Hagen
pq
 2007-12-15 00:21
#103909 #103909
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
das ist in perl generell nicht so einfach bis unmöglich, da Perl nur von perl
geparsed werden kann. und eben leider auch viel zur runtime gemacht wird (was ja aber
auch vorteile hat).
und ein editor kann beliebig gut sein im raten, perfekt kann er nicht sein.
und je nach typisierung ist es auch in anderen sprachen nicht immer einfach.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
renee
 2007-12-15 00:38
#103910 #103910
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ein Syntaxcheck ist ohne Sicherheitslücken nicht möglich, da für jeden (wirklichen) Syntaxcheck perl verwendet wird und dann werden auch BEGIN-Blöcke ausgeführt. Das ist noch ein großes Problem.

Ein Ansatz, um Outlining etc ohne perl hinzubekommen, ist CPAN:PPI. Aber auch das liefert keine 100%igen Ergebnisse...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
KurtZ
 2007-12-15 01:03
#103914 #103914
User since
2007-12-13
411 Artikel
BenutzerIn
[default_avatar]
Hagen+2007-12-14 22:10:30--
Das Thema mit den (weiteren) Routinen in 'externen' Dateien würde mich aber mehr interessieren.


sowohl emacs als auch vi können mit sogenannte tags-dateien umgehen.

-> man etags

Hagen+2007-12-14 22:10:30--
Kann Eclipse so etwas? (Bin leider (noch) nicht dazu gekommen es aus zu probieren)


habe mir mal Eclipse vor 2 Jahren von einem begeisterten Java-Progger vorführen lassen, aber was für Perl angeboten wurde war ziemlich mau. Welcher Perlista hat schon Lust ne IDE in Java zu erweitern.

(x)emacs hat ne unmenge an Erweiterungsmöglichkeiten, z.B. "imenu" ... leider muss man sich dafür oft mit elisp auseinandersetzen, d.h. die ()-Tasten auf Dauerfeuer stellen.

Auch soll "Komodo" eine auf Perl getrimmte IDE sein, hab aber keine eigenen Efahrungen dazu.

Ciao
Kurt
TMTOWTDYOG (there's more than one way to dig your own grave)
<< >> 9 Einträge, 1 Seite



View all threads created 2007-12-07 23:57.