Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]5715[/thread]

Welche Schreibweise verwendet ihr ?: ... nur aus Interesse (Seite 13)

Leser: 3

Question: Welche Schreibweise verwendet ihr ?: ... nur aus Interesse
Variante 1
Variante 2
Variante 3
ich will ein Bier
You have to log in to vote.
57 voter(s) so far


<< |< 1 ... 10 11 12 13 14 15 16 17 >| >> 169 Einträge, 17 Seiten
renee
 2006-04-25 09:16
#51076 #51076
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=lichtkind,25.04.2006, 00:35]martin war das ein scherz? hab kein wassermodul gefunden.[/quote]
hier ;)
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/
master
 2006-04-25 10:01
#51077 #51077
User since
2003-10-20
610 Artikel
BenutzerIn
[default_avatar]
@GwenDragon
aha Rot13 kodiert.. :-)
$i='re5tsFam ^l\rep';$i=~s/[^a-z| ]//g;$\= reverse "\U!$i";print;
master
 2006-04-25 10:10
#51078 #51078
User since
2003-10-20
610 Artikel
BenutzerIn
[default_avatar]
@Linuxer

dann müsstest du eigentlich auch

open FILHE ..... {

}

schreiben... (korrekterweise) oder du nutzt die klammern auf gleicher höhe, damit die klammern, wie du ja sagst, einen block definieren(was sie auch tun). if-block, while-block usw.

Spätestens bei diesem Bespiels sieht man, das es etwas inkonsequent die Öffnungsklammer mal am anfang, und mal am schluss zu machen.

Was machst du wenn mal der Code nicht eingerückt ist?
$i='re5tsFam ^l\rep';$i=~s/[^a-z| ]//g;$\= reverse "\U!$i";print;
Strat
 2006-04-25 10:24
#51079 #51079
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
@master: ja, sowas in der art verwende ich recht haeufig, z.B.
Code: (dl )
1
2
3
4
5
6
7
8
9
10
my @lines = do {

if( open( my $FH, "<", $file ) ) {
<$FH>;
} # if
else {
die "Error: couldn't open file '$file': $!\n";
} # else

}; # do

wobei ich auch mittlerweile oefter open ... or die/croak ... verwende, ev. in Verbindung mit eval.
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
esskar
 2006-04-25 10:34
#51080 #51080
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
ich gewöhn mich immer mehr an die perltidy schreibweisen.

einfach mal perltidy -b script.pl aufrufen.
master
 2006-04-25 10:39
#51081 #51081
User since
2003-10-20
610 Artikel
BenutzerIn
[default_avatar]
Hier noch ein Trick für alle zur besseren Programmierung mit Klammern:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
@daten(1..5);

if (1 eq 2)
{
  for(@daten)
  {
     print $_;
     print "\n";

     while(1)
     {
        $x++;
        print "blabla\n";

        if ($x eq 2)
        {
           print 'Wert vor Abbruch:'.$x;
           last;
        }
     }
  }           #"Code-Erweiterung" in diesem Block
}


Besonders bei grösseren Schlaufen bzw. tiefer verschachtelten Abfragen mit viel Code dazwischen ist man bei der Entwicklung mit dem Auge und vom Aufbau logischerweise eher im unteren Bereich des Blocks.
Da man ja von oben nach unten entwickelt.

Der Programmierer ist jetzt gerade bei Code-Erweiterung und will dort weitermachen.

Die Problematik seht ihr selber.

Es hat viele Schliessklammern und meist viel mehr Codezeilen
zwischen der Öffnungsklammer und der Schliessklammer als in meinem Beispiel.

Welche Schliessklammer gehört nun wozu???
Dem armen Kerl bleibt anderes übrig als ca. 200 Zeilen raufzuscrollen und sich auch noch zu merken auf welcher Höhe(anz- Einrükungen) die Öffnungsklammer ist. (oder halt die "einrückung mit schlüsselwort" bei jenen die es anders machen)

Vorallem vergisst man mit der Zeit wo man sich gerade befindet. Bin ich jetzt im for, if oder while-block??? also scrollen und suchen.... :-(


So gehts einfacher:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
@daten(1..5);

if (1 eq 2)
{
  for(@daten)
  {
     print $_;
     print "\n";

     while(1)
     {
        $x++;
        print "blabla\n";

        if ($x eq 2)
        {
           print 'Wert vor Abbruch:'.$x;
           last;
        }
     }  #while
  }   #for         "Code-Erweiterung" in diesem Block
}  #if



Ein simpler Kommentar am Ende der Schliessklammer bewirkt Wunder. :-)

Man muss nicht jede Schliessklammer kommentieren, so wie in meinem Beispiel. Es reicht wenn man z. B. nur die #for markiert als Gedankenstütze

Das scrollen und suchen fällt somit weg. ein #if , #for, #-e  ist schnell geschrieben. ok "#while" dauert länger, daher würde ich nur die #for markieren, da sie in der Mitte ist.

Man könnte auch schön kommentieren z. B.
#Hier wird die Hauptabfrage geschlossen

Aber das ist mir persönlich zuviel Kommentar und macht es bald unübersichtlich. Ausserdem weiss der Entwickler ja einigermassen, was er gerade tut.\n\n

<!--EDIT|master|1145948383-->
$i='re5tsFam ^l\rep';$i=~s/[^a-z| ]//g;$\= reverse "\U!$i";print;
esskar
 2006-04-25 10:43
#51082 #51082
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
hmm; ich benutzt dafür immer folding; also einfach code-blöcke ein und ausblenden. :)
master
 2006-04-25 10:46
#51083 #51083
User since
2003-10-20
610 Artikel
BenutzerIn
[default_avatar]
@esskar
Nicht jeder hat einen Editor, der das kann.
Welchen Editor hast Du?
$i='re5tsFam ^l\rep';$i=~s/[^a-z| ]//g;$\= reverse "\U!$i";print;
renee
 2006-04-25 11:42
#51084 #51084
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Man sollte auch darauf achten, dass es nicht zuviel Code im Block wird. Besser ist es, den Code in Subroutinen auszulagern oder in Module. Dann bleibt alles schön übersichtlich...
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/
master
 2006-04-25 11:57
#51085 #51085
User since
2003-10-20
610 Artikel
BenutzerIn
[default_avatar]
@renee
Genau! im Prinzip sollte man das so machen.

Jedoch merkt man manchmal erst später das man eine sub machen könnte. Und manchmal gehts einfach nicht, das auszulagern. Lässt es sich nicht umgehen, dann wirkt der kleine Kommentar Wunder :-)   }}}}}}}}}}\n\n

<!--EDIT|master|1145952095-->
$i='re5tsFam ^l\rep';$i=~s/[^a-z| ]//g;$\= reverse "\U!$i";print;
<< |< 1 ... 10 11 12 13 14 15 16 17 >| >> 169 Einträge, 17 Seiten



View all threads created 2003-09-11 23:56.