Re: [ccd] Benachrichtigung für clean-code-developer@googlegroups.com - 3 Nachrichten in 1 Thema

59 views
Skip to first unread message

Martin Prange

unread,
Dec 12, 2012, 4:18:21 PM12/12/12
to clean-code...@googlegroups.com
Argumente sind vorgebracht. Auch alle valide! 
Ich bin seit 22 Jahren mit C++ dabei und gebe meine Stimme hier fuer den Mitentwickler: 
Es weiss ganz genau, was passiert, das new() resp. malloc/realloc nur bei Bedarf, perfekt mitgedacht. 
Wenn es nur eine Zeile ueber der Schleife steht, nichts gegen einzuwenden. 
Ich schreibe gerne eine Zeile intentionally declared inside of the loop oder so aehnlich, wenn der Kontruktor "teuer ist". 
Gutes Beispiel fuer Ausnahmen von der Regel.
Gruesse vom Zürichsee,
  Martin Prange


2012/12/12 <clean-code...@googlegroups.com>

Gruppe: http://groups.google.com/group/clean-code-developer/topics

    Jan Schumacher <jan.schu...@gmail.com> Dec 11 06:43AM -0800  

    Hallo!
     
    Wollte mich mal kurz vorstellen: Ich bin Jan Schumacher, arbeite für ein
    Unternehmen in dem wir seit kurzem die Regeln des CCD anwenden und
    damit experimentieren. Ich programmiere seit ca. 2 Jahren mit Groovy und
    Grails, davor, so gut wie ausschließlig, mit Java.
     
    Es gab heute während einer Code Review eine Diskussion mit einem
    Mitentwickler bei
    der es darum ging ob es schönerer oder schlechterer Code ist Variablen
    mit Objekten innerhalb einer Schleife oder ausserhalb einer Schleife zu
    deklarieren.
    In unserem Beispiel werden die Objekte allerdings nur für einen
    Schleifendurchgang
    und beim nächsten wieder überschrieben.
     
    String test1
    String test2
    (0..20).each{
    test1 = "Hallo Welt " + it
    test1 = "Hallo Welt " + (it * 2)
    }
     
    Die Argumente waren, wie vorher zu erwarten, die Performance sei
    dadurch besser, der Speicher sei nicht unnötig in Verwendung und es sei
    besser zu
    lesen. Ich habe gegen die Punkte Leserligkeit und Performance widersprochen
    und bin
    nach kurzem suchen auf "Google" auf folgendes dazu gestoßen:
     
    http://weblogs.java.net/blog/ddevore/archive/2006/08/declare_variabl_1.html
     
    Jetzt ist für mich ganz klar die Frage: Was sagt Clean Code dazu? Gibt es
    dafür
    überhaupt Regeln und wenn wie sind sie am besten anzuwenden?
     
    Mit freundlichen Grüßen
    Jan Schumacher

     

    Stefan Lieser <ste...@lieser-online.de> Dec 11 03:59PM +0100  

    Hallo Jan,
     
    für mich persönlich ist der Code lesbarer, wenn die Deklaration in der Schleife erfolgt. Die zusätzlichen Zeilen vor der Schliefe empfinde ich als unnötiges Rauschen.
     
    Performance ist für mich absolut kein Argument. Bis es eines ist :-) Das heißt dann aber, dass mittels Profiler o.ä. nachgewiesen ist, dass eine Verlagerung der Deklaration (aus Kundensicht) einen gewichtigen Vorteil hat.
     
    Clean Code Developer Bausteine zu dem Thema:
    - Vorsicht vor Optimierung
    - Don't Repeat Yourself
    - Sourcecode Konventionen
     
     
    Herzliche Grüße
    Stefan Lieser
    --
     
     

     

    "Mario Noack" <no...@gmx.de> Dec 11 04:01PM +0100  

    Am 11.12.2012, 15:43 Uhr, schrieb Jan Schumacher
    > besser zu
    > lesen. Ich habe gegen die Punkte Leserligkeit und Performance
    > widersprochen
     
    Hallo Jan,
     
    hier geht es um wenige Taktzyklen haben oder nicht haben. Meine
    Interpretation von CCD ist, dass Geschwindigkeit kein Argument gegen
    sauberen Code sein darf. Schließlich verführt die äußere Deklaration zur
    späteren nicht vorgesehenen Nutzung der Variablen.
     
    Unter C# gibt der ReSharper in so einem Fall darum den berechtigten
    Hinweis, dass die Variable weiter innen deklariert werden kann.
     
    Grüße,
    Mario Noack

     

Sie erhalten diese Nachricht, weil Sie in Google Groups die Gruppe clean-code-developer abonniert haben.
Sie können Posts per E-Mail erstellen.
Um Ihr Abonnement für diese Gruppe zu beenden, senden Sie eine leere Nachricht.
Für weitere Optionen besuchen Sie bitte diese Gruppe.

--
Sie haben diese Nachricht erhalten, weil Sie der Google Groups-Gruppe Clean Code Developer beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an clean-code...@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an clean-code-devel...@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/clean-code-developer?hl=de, um weitere Optionen zu erhalten.

Reply all
Reply to author
Forward
0 new messages