Schrift
[thread]12391[/thread]

Variabler Variablenname (Seite 3)

Leser: 35


<< |< 1 2 3 >| >> 22 Einträge, 3 Seiten
pq
 2009-05-12 10:31
#121526 #121526
User since
2003-08-04
12209 Artikel
Admin1
[Homepage]
user image
also dein code sieht ziemlich chaotisch aus. eigentlich räumt man code erstmal auf, bevor man ihn postet. du hast da ziemlich viele überflüssige sachen drin. ausserdem benutzt du anscheinend kein strict und warnings, deshalb lies bitte Wiki:UseStrict


Quote
Code: (dl )
	$i++;

hier benutzt du $i, eine variable, die du nirgendwo mehr benutzt. hast du zuviele variablen übrig?
Quote
Code: (dl )
	if (/^\#/){ next } #Kommentarzeilen im .csv-file überspringen

das schreibt sich üblicherweise so:
Code (perl): (dl )
next if /^#/;

Quote
Code: (dl )
	s/\s*//g;

nur ne kleinigkeit, aber das schreibt man so:
Code (perl): (dl )
s/\s+//g;

warum? na weil man mit \s* beliebig viele \s ersetzt, also auch null. das ist im zweifel mehr arbeit für den interpreter. du willst ja nur ersetzen, wenn mindestens ein space vorkommt.
Quote
Code: (dl )
	$xyz = $_;

sorry, aber $xyz ist kein hilfreicher variablenname. desweiteren brauchst du die zeile nur an einer einzigen stelle, und kurz bevor du sie brauchst, weist du sie einer anderen variable zu. warum benutzt du nicht $_? oder im gegensatz dazu, wenn du "richtige" variablen lieber hast, warum weist du die zeile nicht so einer variablen schon im schleifenkopf zu?
Quote
Code: (dl )
1
2
	@zeile = split(/\,/,$xyz);
push @{ @values[$arrayzaehler] }, [split(/\,/,$xyz)];

du machst zweimal dasselbe split, und die variable @zeile lasst du völlig ungenutzt? ich weiss, du wirst vermutlich sagen, das kommt vom rumtesten. aber bevor man code postet, entfernt man sowas. das hat nix mit schikane zu tun.

Quote
Code: (dl )
1
2
$arrayzaehler = ++$arrayzaehler;

hast du zuviel CPU übrig? ++$var inkrementiert eine variable eh schon, man braucht das ergebnis nicht nochmal derselben variable zuzuweisen.

Quote
Allerdings kommt da irgendwie nur Mist bei raus...

mist? aha. könntest du das ein wenig näher erläutern?
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
Gast Daniel
 2009-05-12 11:41
#121533 #121533
Hallo pq,
deine Kritik kann ich durchaus nachvollziehen, das meiste davon hätte ich tatsächlich ersetzen können wenn man den Code-Teil allein sieht, sorry. Als kurze Erklärung wo die Überflüsssigen Variablen herkommen:
$i brauch ich später wieder im Skript, also den Wert von $i brauche ich wieder, mit $xyz, das in diesem Fall nur für einen wesentlich längeren Variablennamen steht, den ich jetzt für den Codeschnipsel ersetzt habe, verhält sich das genauso.

Danke auf jeden Fall ganz herzlich, auf jeden Fall auch an topeg selbstverständlich für die Hilfe! Ich versuch die Probleme zunächst allein hinzubekommen, wenns gar nicht klappt frag ich hier und such dann raus, warum es so funktioniert wie Ihr das postet, damit ich danach schlauer bin und auch verstehe woran es lag. Bei den "ersten Gehversuchen" kommt mit der Zeit immer mehr "Mist" dazu, der dann zwar funktioniert, aber nicht sauber ist. Bitte seht mir das nach, ich versuch so schnell wie möglich einen sauberen Stil in die ganze Angelegenheit zu bekommen, versprochen!
Danke nochmal für die Hilfe!
Viele Grüße

Daniel
<< |< 1 2 3 >| >> 22 Einträge, 3 Seiten



View all threads created 2008-08-22 14:46.