Thread Hash als Option missbrauchen (118 answers)
Opened by bloonix at 2005-12-19 02:24

bloonix
 2005-12-23 00:22
#61033 #61033
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
[quote=Strat,22.12.2005, 22:26]zum coding style: hier kann ich "Perl Best Practises" von D. Conway (O'Reilly) empfehlen. habe wegen diesem buch auch schon ein paar sachen umgestellt... dabei bin ich noch gar nicht ganz durch...[/quote]
Hallo Strat,

ich habe gerade mal einen Blick ins 9. Kapitel des Buches bei Oreilly
geworfen, was sehr passend ist, da es sich um die Syntax etc. von
Subroutinen dreht.

Dort ist häufig dieser Codestil zu sehen ...
Code: (dl )
1
2
3
4
5
6
my $tage       = 112;
my $monate     = 223;
my $jahre      = 12432;
my $jahrzehnte = 323;

# immer schön eine Linie mit dem Gleichzeichen


Genau daran versuche ich mich zu halten.

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# das sieht besser aus ...

my ( $millisekunden
   , $sekunden
   , $minuten
   , $stunden
   , $tage
   , $monate
   , $jahre
   , $jahrzehnte
   , $jahrtausende
   ) = split /\s+/, $string;

# als das ... finde ich zumindest

my ( $millisekunden, $sekunden, $minuten, $stunden, $tage, $monate, $jahre, $jahrzehnte, $jahrtausende) = split /\s+/, $string;


Schwieriger wirds bei if-elsif-else Blöcken.

Manche mögen schwer den C-Stil ...

(das vorgestellte Modul im Thread von sy_core "Modul bewerten"
war von diesem Stil stark geprägt)

Code: (dl )
1
2
3
4
5
6
if ($var1) {
  undef $var1;}
elsif ($var2) {
  undef $var2;}
elsif ($var3) {
  undef $var3;}


andere wiederrum sowas ...

Code: (dl )
1
2
3
4
5
6
7
if ($var1) {
  undef $var1;
} elsif ($var2) {
  undef $var2;
} elsif ($var3) {
  undef $var3;
}


andere das ... (bei wirklich kurzen if's schreib ich auch manchmal so)

Code: (dl )
1
2
3
    if ($var1) { undef $var1; }
elsif ($var2) { undef $var2; }
elsif ($var3) { undef $var3; }


oder das ... (dazu gehöre zum Beispiel ich)

Code: (dl )
1
2
3
4
5
6
7
8
9
if ($var1) {
  undef $var1;
}
elsif ($var2) {
  undef $var2;
}
elsif ($var3) {
  undef $var3;
}


Ich finde es einfach übersichtlicher, wenn man Anfang und Ende eines
Blocks auf gleicher Höhe sehen kann...

Code: (dl )
1
2
3
4
Anfang   if (...) {
Ende     }
Anfang   elsif (...) {
Ende     }


Und da es leider nicht zu verhindern ist, dass es viele unterschiedliche
Codestils gibt, ist es um so besser, wenn man die Fähigkeit besitzt,
den Codestils eines anderen Authors schnell zu verstehen.

Welcher if-Stil gefällt dir am besten und was nutzt du gegen dessen? :)
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.

View full thread Hash als Option missbrauchen