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 8)

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 ... 5 6 7 8 9 10 11 ... 17 >| >> 169 Einträge, 17 Seiten
renee
 2006-04-24 13:14
#51026 #51026
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=master,24.04.2006, 11:02]@crain

in dem punkt ist der Perlstyle hässlich.... und inkonsequent..

Code: (dl )
1
2
3
for (;;) {
statements;
}


jetzt such mal das öffnungs "{" es befindet sich ein "for" dort.. und manchmal ein "while" oder "if" usw.[/quote]
Das ist ganz einfach zu finden. Gehe bis zu dem Schlüsselwort und schon ist es am Ende der Zeile... Aber das schrieb ich ja schon...
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/
Crian
 2006-04-24 13:14
#51027 #51027
User since
2003-08-04
5873 Artikel
ModeratorIn
[Homepage]
user image
Ich finde es übrigens sehr hässlich, wenn zwischen Schlüsselworten wie if, while, ... und der öffnenden Klammer kein Leerzeichen steht. Das sind keine Funktionen.

Bei

Code: (dl )
1
2
3
if (meine-Bedingung) {
# ...
}


sind das if und die schließende geschweifte Klammer auf der gleichen Ebnene. Ausnahmen davon mach ich höchstens bei mehrzeiligen Bedingungen.

Ich finde perldoc perlstyle nicht häßlich und inkonsequent. Natürlich kannst du es anders machen, es steht ja auch extra dabei, dass das nur eine Empfehlung ist. Aber ich würd mich an deiner Stelle lieber daran gewöhnen, das erleichtert die Zusammenarbeit mit anderen Perlprogrammierern ziemlich.\n\n

<!--EDIT|Crian|1145870261-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
master
 2006-04-24 13:18
#51028 #51028
User since
2003-10-20
610 Artikel
BenutzerIn
[default_avatar]
ich übertreibs mal....
perlstyle:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
if(1 eq 1) {
  print 'hallo';
  for(@_) {
     print 'hallo';
if(2 eq 2) {print 'nichts';}
     if(3 eq 3) {
        print 'holla'.#{}
     }
  }
}


besser
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
if(1 eq 1) 
{
  print 'hallo';
  for(@_)
  {
     if(2 eq 2) {print 'nichts';}
     if(3 eq 3)
     {
        print 'holla'.#{}
     }
  }
}


beim perlstyle muss man bei der rückwärtssuche..
auf alle möglichen if / for /while sub achten..

bei der normalen methode braucht man nur das "{" öffnungs tag auf der gleichen ebene zu suchen.
$i='re5tsFam ^l\rep';$i=~s/[^a-z| ]//g;$\= reverse "\U!$i";print;
Crian
 2006-04-24 13:19
#51029 #51029
User since
2003-08-04
5873 Artikel
ModeratorIn
[Homepage]
user image
Der obere Code ist viel schneller zu erfassen. Ich würde ihn aber so schreiben:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
if (1 eq 1) {
print 'hallo';
for (@_) {
print 'hallo';
if (2 eq 2) {
print 'nichts';
}
if (3 eq 3) {
print 'holla';
}
}
}
\n\n

<!--EDIT|Crian|1145870462-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
renee
 2006-04-24 13:21
#51030 #51030
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Du musst nicht auf alle möglichen Schlüsselwörter achten, sondern nur auf den nächsten, der auf gleicher Ebene steht.

Und Du wendest ja auch nicht die "normale Methode" an, da Du bei dem else die öffnende Klammer hinter das else schreibst...
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/
renee
 2006-04-24 13:21
#51031 #51031
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
crian++
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/
sid burn
 2006-04-24 13:28
#51032 #51032
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
[quote=Crian,24.April.2006, 11:19]Der obere Code ist viel schneller zu erfassen. Ich würde ihn aber so schreiben:
...[/quote]
Ich kann die untere Methode besser erfassen. Da ich einfach nur auf eine öffnende und schliesende Klammer achte. Und das eben mein Block ist. Deine Methode finde ich für mich schwerer zu lesen, da ich den Block nicht sehe, und ich ein if mit einem } suche, auf selber Ebene. Aber ich denke das sieht ja jeder anders. Je nach Style den man sich angewöhnt hat.

Wichtig ist denke ich das man nur einen Style benutzt, und diese nicht innerhalb des Programmes ständig ändert.

Ich denke darüber kann man eigetnlich doch wenig weiter Diskutieren welche Methode besser ist, da es wohl vom Geschmack abhängt?

@renee
Quote
Code: (dl )
1
2
if(a$ eq 1)  { $a = 0 }  else { $a = 1 }
if(b$ eq 1) { $b = 0 } else { $b = 1 }

benutze ich lieber
Code: (dl )
1
2
$a ^= 1;
$b ^= 1;


Bei deinem Code kommt bei mir aber etwas anderes heraus:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
$a = 1;
$b = 0;

print "a=$a\tb=$b\n";
$a ^= 1;
$a ^= 1;
print "a=$a\tb=$b\n";

if($a eq 1) { $a = 0 } else { $a = 1 }
if($b eq 1) { $b = 0 } else { $b = 1 }

print "a=$a\tb=$b\n";



Ausgabe:
Code: (dl )
1
2
3
a=1     b=0
a=1 b=0
a=0 b=1

Dein Code bewirkt irgendwie nichts. Zum anderen finde ich eine XOR irgendwie schwer nachzuvollziehen. Zwar kann ich Bitweise Rechnen, aber den Sinn dahinter zu verstehen finde ich schwerer.\n\n

<!--EDIT|sid burn|1145871066-->
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de
pq
 2006-04-24 13:34
#51033 #51033
User since
2003-08-04
12209 Artikel
Admin1
[Homepage]
user image
[quote=sid burn,24.04.2006, 11:28]Dein Code bewirkt irgendwie nichts.[/quote]
du musst schon richtig abtippen.
lies dir den code nochmal genau durch und schau, worauf du ^= anwendest.
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
master
 2006-04-24 13:35
#51034 #51034
User since
2003-10-20
610 Artikel
BenutzerIn
[default_avatar]
[quote=renee,24.04.2006, 11:07][/quote]
@renee
Du hast das konzept nicht richtig verstanden.
} else { = wie ein ganzer ausdruck.

wenn du es nur perlmässig ansiehst dann stehen die einen "{" alleine da.

Code: (dl )
1
2
3
4
5
6
7
if()
{
# Code

} else {
# Code
}

damit du weisst was ich meine:
Code: (dl )
1
2
3
4
5
6
7
8
if()
{
# Code

--ELSE--

# Code
}



wie gesagt.. das ist mein pers. stil... wenn jemand meinen code liest, mache ich ihn darauf aufmerksam.

ausserdem ist es wenn man es mit leerzeichen sauber macht auch leserlich bzw. leeserlicher, als "methode 2" da es nur 3 elemente gibt..
1. {
2. ELSE
3. }

code:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
if()
{
print 'hallo';
print 'hallo';
#braucht ein leerzeichen
} else {

print 'hallo';
print 'hallo';
}

aber eben, das ist meine pers. ansicht...

dein krypisches


du behauptest, das dass:
Code: (dl )
1
2
3
4
if()
{
# Code
}


weniger konzept habe als das:
Code: (dl )
1
2
3
if() {
# Code
}


Klammern dienen der übersichtlichkeit und zum gruppieren.
hier nimmst nimmt man das "if" quasi als öffnungs tag.
ds mag zwar "perlstyle" sein, zerstört aber das klammern/blockkonzept.

bei meiner version, muss man sich nur and den {} orientieren, um einen block sofort zu erkennen.




-----------



Code: (dl )
1
2
3
4
5
if(a$ eq 1)  { $a = 0 }  else { $a = 1 }  #versteht jeder (auch nicht so geübte)


$a ^= 1; #gut, aber nur profis, jedoch besser als das nachfolgende
$a = $a ? 0 : 1; #schlecht lesbar, nur profis
$i='re5tsFam ^l\rep';$i=~s/[^a-z| ]//g;$\= reverse "\U!$i";print;
pq
 2006-04-24 13:36
#51035 #51035
User since
2003-08-04
12209 Artikel
Admin1
[Homepage]
user image
[quote=sid burn,24.04.2006, 11:28]Zum anderen finde ich eine XOR irgendwie schwer nachzuvollziehen. Zwar kann ich Bitweise Rechnen, aber den Sinn dahinter zu verstehen finde ich schwerer.[/quote]
wenn du bit-operationen kannst, sollte ein XOR für dich leichter
zu verstehen sein.
darauf baut ja ein computer auf, und im studium habe ich
die operationen ziemlich verinnerlicht. ein XOR mit sich selbst 1
ist ein umdrehen des bits. fertig. total einfach!

edit: vertippt\n\n

<!--EDIT|pq|1145877878-->
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
<< |< 1 ... 5 6 7 8 9 10 11 ... 17 >| >> 169 Einträge, 17 Seiten



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