Schrift
[thread]5715[/thread]

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

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 ... 8 9 10 11 12 13 14 ... 17 >| >> 169 Einträge, 17 Seiten
Matze
 2006-04-24 17:12
#51056 #51056
User since
2005-08-29
222 Artikel
BenutzerIn
[Homepage] [default_avatar]
So viele Gedanken mach ich mir da nicht, aber ich glaube, dass
ich auch nichts in dieser Form schreiben würde:
Code: (dl )
$a = 1 if ($a =~ /^\d+$/ && $b =~ /^\w+$/ && $c =~ /^ja$/i && ($d =~ /^1$/ || $e =~ /^1$/));

Aber das liegt warscheinlich auch eher daran, dass es total
unleserlich ist. ;)

MfG. Matze
Mit freundlichen Grüßen: Matze
GwenDragon
 2006-04-24 17:47
#51057 #51057
User since
2005-01-17
14863 Artikel
Admin1
[Homepage]
user image
[quote=master,24.04.2006, 14:31]Ausnahmen: Fremdcode, nicht so wichtigen Stellen oder wenn eine Zuweisung recht kurz sein soll.
Code: (dl )
$a = 1 if $a = 0;
[/quote]
Wohle eher
Code: (dl )
$a = 1 if $a == 0;
GwenDragon
 2006-04-24 17:49
#51058 #51058
User since
2005-01-17
14863 Artikel
Admin1
[Homepage]
user image
$a = 1 if ($a =~ /^\d+$/ && $b =~ /^\w+$/ && $c =~ /^ja$/i && ($d =~ /^1$/ || $e =~ /^1$/));
Soll man sowieso nicht nehmen. Außer die ProgrammeirerIn ist "very, very lazy!"
and anstatt &&.

Quote
Use the new ``and'' and ``or'' operators to avoid having to parenthesize list operators so much, and to reduce the incidence of punctuation operators like && and ||. Call your subroutines as if they were functions or list operators to avoid excessive ampersands and parentheses.

perlstyle
Das sagt sebst der Perl Styleguide ;)\n\n

<!--EDIT|GwenDragon|1145886807-->
Dubu
 2006-04-24 17:58
#51059 #51059
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Wenn wir das schon wiederaufkochen: Ich benutze auch durchgängig Variante 3, mit "cuddled elses".

Was mich beim Lesen interessiert, ist der Programmablauf und wo er durch Bedingungen oder Schleifen beeinflusst wird.

Durch eine Einrückung erkenne ich, dass dieser Programmabschnitt nicht einfach sequenziell durchlaufen wird, sondern eine Unterbrechung erfährt.
Was diese Unterbrechung verursacht hat, möchte ich gerne in der Zeile über der Einrückung sehen: Das "if", das "while", das "foreach" oder was auch immer.

Wo diese Unterbrechung zu Ende ist, sehe ich eigentlich durch das Ende der Einrückung. Und für Python-Programmierer reicht das sogar.
Die meisten anderen Sprachen haben aber eine zusätzliche Markierung, z.B. eine Endemarkierung für den unterbrechenden Befehl, wie "if ... fi" oder "while ... endwhile", oder Blockmarken wie "{ ... }" oder "begin ... end".

Ich bevorzuge es, wenn so eine Unterbrechung eben nur durch eine Zeile davor (die mit der Bedingung oder dem Schleifenbefehl, evtl. auch dem "else") und eine dahinter "umrahmt" wird. Eine eigene Zeile für die Blockmarke finde ich überflüssig und habe ich mir abgewöhnt, als ich mit Modula-2 aufgehört habe.
docsnyder
 2006-04-24 17:59
#51060 #51060
User since
2005-09-08
300 Artikel
BenutzerIn
[Homepage] [default_avatar]
Über nichts läßt sich so endlos debattieren wie über Programmierstil (und über den "richtigen" Editor).

Ich bevorzuge klar Variante 1, denn sie ist eine gute Mischung aus Kompaktheit und Übersichtlichkeit :)

Greetz, Doc\n\n

<!--EDIT|docsnyder|1145887187-->
betterworld
 2006-04-24 19:27
#51061 #51061
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
[quote=sid burn,24.04.2006, 10:59]Irgendwie verstehe ich deine Sichtweise nicht so ganz.
Wenn ich, ebenfalls mit einer Regex, überprüfe ob der Benutzer Bereits existiert, dann kann ich kein Benutzer "betterworld\n" anlegen, da es ja das selbe wäre wie "betterworld". Und ich würde eine Meldung bekommen das der benutzer bereits existiert.

Und sagen wir mal man unterscheidet das registrieren mit einem "\n". Dann sehe ich da immer noch keine Probleme. Da es nun in der Datenbank 2 Benutzer gibt. Einmal "betterworld" und einmal "betterworld\n". Wenn ich mein SQL Query dann abschicke hole ich mir entweder das Passwort von "betterworld" oder "betterworld\n", dass jeweils ein unterschiedliches Passwort wäre. Ich könnte also auch nicht das Passwort von "betterworld\n" benutzen um mich mit "betterworld" einloggen.

Zum anderen muss ich auch gar nicht irgendein Benutzername vergleichen. Warum auch? Den Benutzername brauche ich lediglich um das Passwort zu holen, und ich vergleiche danach das Passwort.

Zum anderen sollte es aber Generell ungewollt sein, wenn \n auf einer Website zu den akzeptierten zeichen gehört. Solche Zeichen sollte man bei der Eingabe eigentlich nicht erlauben.[/quote]
Da hast natuerlich recht. Ich will auch nicht behaupten, dass die Benutzerueberpruefung, die ich oben gepostet hatte, sehr sinnvoll programmiert ist oder buchstäblich aus einem existenten Forum entnommen ist. Ich wollte nur zeigen, wie man durch unachtsames Benutzen von $ Sicherheitsluecken (oder auch andere Bugs) einbauen kann.
Strat
 2006-04-24 19:51
#51062 #51062
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=jan,12.09.2003, 21:04]ui ui ui, und da redet man immer so viel von den flexiblen perlprogrammieren....[/quote]
soso, und ich dachte immer, da perl eh so flexibel ist, kann man als perl-programmierer voellig unflexibel sein... vielleicht sollte ich mal wieder die sprache wechseln...

Zu diesem und vielen weiteren Themen empfehle das Buch "Perl Best Practises" von D. Conway; auch wenn ich nicht jede Regel wirklich 100% unterschreiben wuerde, finde ich, es sind hervorragende ideen darin, von denen ich einige uebernommen habe, und ich habe daraus auch einiges gelernt (z.B. hat mich Perl's use constant schon lange genervt, und seit der lektuere dieses Buches verwende ich mit viel Freude CPAN:Readonly)
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
master
 2006-04-24 20:03
#51063 #51063
User since
2003-10-20
610 Artikel
BenutzerIn
[default_avatar]
@GwenDragon
ich nutzt NUR && und || "or" "and" ist mir zu "normal"

zudem auch "eq" und "ne" statt der äquivalenten form..
macht der gewohnheit.

warum(auf deutsch) sollte ich weniger "&&" nutzen?

klar ist besser betreffend sprachenunabhängigkeit
and und or zu nutzen.
$i='re5tsFam ^l\rep';$i=~s/[^a-z| ]//g;$\= reverse "\U!$i";print;
renee
 2006-04-24 20:14
#51064 #51064
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ein Unterschied macht dieses Beispiel deutlich:
Code: (dl )
1
2
3
4
5
open my $fh,"<",$nicht_existente_datei || die "geht net!";

# vs.

open my $fh2,"<",$nicht_existente_datei or die "geht net!";
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/
Dubu
 2006-04-24 20:20
#51065 #51065
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
[quote=master,24.04.2006, 18:03]zudem auch "eq" und "ne" statt der äquivalenten form..[/quote]
Äh ... welche "äquivalente Form"? ???
<< |< 1 ... 8 9 10 11 12 13 14 ... 17 >| >> 169 Einträge, 17 Seiten



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