[PHP] Abkürzungen von IF Sinvoll?

Dieses Thema im Forum "Webentwicklung" wurde erstellt von xonic, 25. Mai 2009 .

Schlagworte:
  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.
     
  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.
     
  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..
     
  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
     
  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.
     
  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...
     
  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.
     
  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
     
  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.
     
  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?
     
  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.
     
  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.
     
  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.
     
  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.
     
  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.
     
  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
     
  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
     
  18. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.