#1 25. Mai 2009 Abkürzungen von IF Sinvoll? Hallo, also mir gefällt eig alles anner Ausbildung doch son anderer Azubi nervt mich schon immer. Zum Beispiel sagter mir ich soll anstatt: PHP: if( 1 ){ echo "Hallo" ;} //---> if( 1 )echo "Hallo" ; schreiben oder anstatt für sich sprechende und immer unterschiedliche Variabeln PHP: $infoabrufen = mysql_query ( ".." );while( $infoabr = mysql_fetch_assoc ( $infoabrufen )){ } immer die gleichen schreiben: PHP: $res = mysql_query ( ".." );while( $line = mysql_fetch_assoc ( $res )){ } Ich finde es nicht gut immer die gleichen Variablen zu nehmen und würde lieber meine Form weiterhin nutzen. Er meinte "ja dann erkennste immer was was ist" und ich so "ja aber durch für sich sprechende Vars kann man ja direkt sehen worauf es sich bezieht und hat keine doppelten Vars..." Er hat mir schon einige hilfreiche Sachen gesagt aber manchmal finde ich es einfach nur blöd und so nach der Art Besserwisser. Ist an den Sachen oben wirklich was sinvolles dran. Ich finde das mit den If Teilen zum Beispiel total und nicht übersichtlich. Aber er meint ja immer Zeilen sparen lol. + Multi-Zitat Zitieren
#2 25. Mai 2009 AW: Abkürzungen von IF Sinvoll? also ich würd auch weiterhin PHP: if( 1 ) { echo "Hallo" ; } empfehlen. gibt ja programme wie notepad++, die farblich anzeigen wo dann der if wert aufhört. wieso sollte man die klammern bei if's weglassen? nur weils kürzer aussieht? ?( PHP: $infoabrufen = mysql_query ( ".." ); while( $infoabr = mysql_fetch_assoc ( $infoabrufen )) sieht auch verständlicher aus. kann man besser zuordnen. + Multi-Zitat Zitieren
#3 25. Mai 2009 AW: Abkürzungen von IF Sinvoll? Ja Notepad++ nutz ich auch und bei der anderen da sieht man nicht ma wo was aufhört. Hmm naja solche Vorschläge nehm ich mir eh nicht zu Herzen, weil sowas find ich einfach blöd um Zeilen zu sparen unübersichtlich werden.. + Multi-Zitat Zitieren
#4 25. Mai 2009 AW: Abkürzungen von IF Sinvoll? 1. kein if ohne else 2. nimm deine variante. wenn man bei der anderen variante mal etwas hinzufügen will und übersieht, dass man eigentlich noch klammern setzen hätte müssen, dann ist der aufwand diesen bug zu finden SEHR groß... kurz ist nicht immer besser... zu den variablennamen: hier kann man sich streiten. wenn man ne variable (gerade für mysql results) immer gleich benennt, das result unmittelbar danach benutzt und günstigenfalls die stelle auch noch kommentiert hat, dann kann man auf den gleichen variablennamen zurückgreifen. ansonsten sind "sprechende" variablennamen immer vorzuziehen. diese sollten dann aber auch eine lesbare form (camel-case) haben; etwa: $infoAbrufen oder $diesIstEineVariableMitEinemBescheuertenNamen + Multi-Zitat Zitieren
#5 25. Mai 2009 AW: Abkürzungen von IF Sinvoll? Naja, so hat jeder eine andere Meinung... Wenn nur ein Statement auf eine If-Abfrage folgt bevorzuge ich auch die kurzschreibweise. Allerdings eingerückt: PHP: if( true ) echo "True" ; Bei MySQL Statements bevorzuge ich ebenfalls die Methode von deinem Kollegen weil das Result meistens sofort abgearbeitet wird und danach verworfen bzw. nicht mehr gebraucht wird. PHP: $query = $mysql -> query ( "SELECT `name` FROM `user`" ); while(( $res [] = $mysql -> fetch_array ( $query )) !== NULL ); return $res ; // Oder halt die Tabelle direkt damit ausgeben. + Multi-Zitat Zitieren
#6 25. Mai 2009 AW: Abkürzungen von IF Sinvoll? Muss ich das den nun so machen wie er? Ich bin noch in der Probezeit und möchte nicht, dass er nachher dem Chef iwas blödes sagt. Aber ich möcht mir von Ihm auch nicht alles vorschreiben lassen, besonders bei diesen Sachen... bzw er sagt nie ich muss es so machen aber das ers so meint zeigt er deutlich, indem ich es zum Beispiel gleich ändern soll oder er es macht... + Multi-Zitat Zitieren
#7 25. Mai 2009 AW: Abkürzungen von IF Sinvoll? Blödsinn... Jeder so wie er mag... Sauber und übersichtlich wirds aber nur (bleiben) wenn man einen Stil hat und den auch konsequent anwendet... Unter folgendem Link unter B4 ist zum Beispiel eine art Dokumentation was als "guter" Programierstil geachtet wird. Zend Framework Coding Standard for PHP - Programmers Reference Guide - Zend Framework Dort wird übrigens dein Stil bevorzugt: (Und wird auch konsequent im Zend-Framework angewand) PHP: if ( $a != 2 ) { $a = 2 ;} // Edit: Allerdings muss die öffnende Klammer "{" mit einem Leerzeichen getrennt von der Bedingung stehen. Du siehst: Jeder macht es anders... Hauptsache man hält sich an das was man macht. + Multi-Zitat Zitieren
#8 26. Mai 2009 AW: Abkürzungen von IF Sinvoll? sorry, aber da bin ich anderer meinung, denn nicht immer ist ein "else" sinnvoll. PHP: if( true === true ) { machWasWennTrue ();} else { //mach nix? } ------ einer leeren while-schleife sollte man hingegen schon nen body geben: PHP: while(( $res [] = $mysql -> fetch_array ( $query )) !== NULL ) { // beschreibung } denn da kommt man schnell durcheinander mit do-while, welche das semi am ende der while benötigt. ------- das der azubi dir seinen stil vorschreibt ist durchaus verständlich, immerhin arbeitet ihr zusammen und jeder sollte den code auf anhieb lesen können. versucht euch doch einfach zu einigen, oder nehmt (wie Coksnuss schon gepostet hat) nen öffentlichen stil. (zfw, pear etc...) Programmierstil – Wikipedia + Multi-Zitat Zitieren
#9 26. Mai 2009 AW: Abkürzungen von IF Sinvoll? Frag deinen Chef, dann kann er ihm wohl nix blödes mehr sagen. Programmierrichtlinien sind nicht ganz sinnlos, wenn man zusammen programmiert. Aber jetzt ist die Frage nur, ob er dir die Programmierrichtlinien eures Betriebes aufzwingt oder seine eigenen. Am besten mal mit jemandem reden. + Multi-Zitat Zitieren
#10 26. Mai 2009 AW: Abkürzungen von IF Sinvoll? dieses konstrukt ist so an den haaren herbeigezogen, dass man es nicht als beispiel nehmen kann um die regel "kein if ohne else" in frage zu stellen. nehmen wir lieber: PHP: if ( $sekundenSeit1970 >= 0 ) { foobar (); } else { //tüdeldü } selbst wenn du dir sicher bist, dass die variable $sekundenSeit1970 immer größer als 0 ist (offensichtlich müsste ich hier eine zeitreise nach spätestens 1969 unternehmen), so besteht jedoch die gefahr durch z.b. unachtsamkeit (aus versehen die variable überschrieben...) oder äußere eingriffe (injektions etc.) dass dir dein skript auseinanderfliegt. wenn du dir sicher bist, dass der else-teil NIE erreicht werden kann, wieso beendest du das skript nicht mit einer fehlermeldung, falls doch der von dir als unmöglich geltende fall eingetreten ist? + Multi-Zitat Zitieren
#11 26. Mai 2009 AW: Abkürzungen von IF Sinvoll? schon klar das "true === true" nie in einem echten script vorkommen wird, aber das war ja nur n beispiel. PHP: $value = 'hallo' ;if(!empty( $_GET [ 'subj' ])) $value .= ' ' . $_GET [ 'subj' ]; print $value ; oder PHP: do if( is_array ( $foo )) { //mach was mit $foo wenn es ein array ist } while( count ( $foo )); oder aus den singleton-pattern: PHP: public static function getInstance (){ if(!( self :: $_instance instanceof self )) self :: $_instance = new self ; return self :: $_instance ;} kein "else" benötigt. die aussage "kein if ohne else" ist einfach nur schwachsinnig. das is alles. + Multi-Zitat Zitieren
#12 26. Mai 2009 AW: Abkürzungen von IF Sinvoll? Hallo, ich halte mich an die Zend Programmierichtlinien, die Variablen nenn ich jetzt nicht immer diesIstEineVariable aber mit den 4 leerzeichentab usw halte ich mich dran oder auch noch gewisse andere Regelen. Im Buch steht sogar das man die Klammern so setzen soll if { } aber im Zend Framework ist es mir auch schon aufgefallen, dass es dort nicht so ist. Ich finde es so wie oben aber viel viel übersichtlicher ^^ weil ich halt die 2 Klammern suche in einer Reihe und nicht wo ne Bedingung, funktion oder sonst was anfangen könnte. + Multi-Zitat Zitieren
#13 27. Mai 2009 AW: Abkürzungen von IF Sinvoll? Das einzige, worauf es eigentlich ankommt, sind die Code-Konventionen, die in deinem Betrieb getroffen werden. Sobald mehrere Leute an einem Projekt arbeiten, ist es notwendig, dass sich alle Entwickler an ein bestimmtes vorgegebenes Schema halten, auch wenn sie selber eher anders vorgehen würden. Ich würde im Zweifelsfall einfach deinen Chef fragen oder schauen, ob irgendwo Dokumente rumfliegen, in denen festgelegt wird, wie der Code zu gestalten ist. Bei uns im Unternehmen wird für jedes Projekt festgelegt, wie der Code zu gestalten ist und da werden bspw. bewusst solche Kurzformen der if-Abfrage vermieden, einfach nur, um die Lesbarkeit zu erhöhen. Solltet ihr keinen vorgegebenen Stil haben, ist es auf jeden Fall schon mal gut, wenn du für dich etwas findest, wonach du dich schematisch richten kannst, damit dein Code immer einheitlich ist. Und dabei würde ich auch nen feuchten darauf geben, was ein anderer Azubi da sagt. + Multi-Zitat Zitieren
#14 27. Mai 2009 AW: Abkürzungen von IF Sinvoll? Dem kann ich nur zustimmen. Es gibt nichts schlimmeres als diese Regel, denn diese bringt einfach nur totales Chaos ins Programm: Code: if(..) { } else { if(..) { } else { .... } } Das fördert die Übersichtlichkeit des Programms nicht, es mindert sie sogar noch um längen. + Multi-Zitat Zitieren
#15 27. Mai 2009 AW: Abkürzungen von IF Sinvoll? das wird dann aber problematisch, wenn du ne zeile auskommentieren willst: PHP: if( 1 ) //echo "Hallo"; dann bezieht sich das if, wenn du nicht aufpasst, auf die nächste codezeile darunter. ist mir schon passiert in c++... ich würde die klammern nur weglassen, wenn du alles richtig einrückst. + Multi-Zitat Zitieren
#16 28. Mai 2009 AW: Abkürzungen von IF Sinvoll? ist vollkommen richtig. komischerweise wird gerade in php viel zu oft if { } gelehrt. viele programme setzen das ebenfalls so ein, das macht gar kein Sinn Bei nem größerem if block kommts dann zu ner totalen verwirrung, da kann man das if auch schon mal überlesen und sucht sich tot . Außerdem gibt es einige nette tolls (wie z.b. ultraedit) die klammerblöche {} ausblenden können. funktioniert aber eben nur mit der längeren version. was ich auch noch sehr zu schätzen gelernt hab ist : PHP: echo "Dies ist ein " . $sFarbe . " Tier" ; bedeutet a) der erste buchstabe gibt den typ der variable an (a = array, s = string, i = int, ...). ist recht hilfreich und spart das nervige "ID" oder "Obj" .. . b) beim verketten von strings immer ein leerzeichen vor und nach dem . operator + Multi-Zitat Zitieren
#17 28. Mai 2009 AW: Abkürzungen von IF Sinvoll? Ich hab sie von Zeit zu Zeit mal gewechselt, doch nach der Zeit gemerkt dass alles ausser: PHP: if( $a === true ) { blasiblubb (); } unleserlich und nach ein paar hundert Zeilen Code unübersichtlich ist. Ohne den Ternary kann und will ich nich + Multi-Zitat Zitieren