AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Delphi-PRAXiS - Lounge Klatsch und Tratsch Was nervt euch so, während der Programmierung oder so allgemein
Thema durchsuchen
Ansicht
Themen-Optionen

Was nervt euch so, während der Programmierung oder so allgemein

Ein Thema von himitsu · begonnen am 26. Jun 2010 · letzter Beitrag vom 3. Mai 2013
 
Benutzerbild von jaenicke
jaenicke
Online

Registriert seit: 10. Jun 2003
Ort: Berlin
9.933 Beiträge
 
Delphi 12 Athens
 
#11

AW: Was nervt euch so, während der Programmierung oder so allgemein

  Alt 18. Mär 2012, 01:10
Das von mir genannte Beispiel in den VirtualTrees war:
Delphi-Quellcode:
      with DrawRect do
        MaskBlt(Target.Handle, Left - Offset.X, Top - Offset.Y, (Right - Offset.X) - (Left - Offset.X),
          (Bottom - Offset.Y) - (Top - Offset.Y), Source.Canvas.Handle, Left - PicRect.Left, DrawRect.Top - PicRect.Top,
          Source.MaskHandle, Left - PicRect.Left, Top - PicRect.Top, MakeROP4(DST, SRCCOPY));
Aber Offset gibts halt nun seit XE2 auch in TRect, so dass nicht mehr die Eigenschaft Offset, sondern DrawRect.Offset vom Compiler versucht wurde zu benutzen.

Und solche Erweiterungen kann man eben in fremden Quelltexten, die man benutzt nicht vorhersehen. Deshalb birgt with eben immer nicht nur die Gefahr, dass man selbst etwas verwechselt, sondern eben auch, dass Änderungen an ganz anderer Stelle plötzlich Probleme machen.

Solange es dann einen Compilerfehler gibt wie hier, ist das nur ärgerlich. Aber wenn der Dateityp dann an einer solchen Stelle übereinstimmt, wünsche ich viel Spaß beim Suchen des Fehlers, wenn man doch z.B. nur eine externe Komponente aktualisiert hat...

Ich hatte genau das Problem schon mehrfach in fremden Quelltexten. Und das nervt einfach nur tierisch, wenn man dadurch dann Stunden verschwendet, nur weil jemand nicht ordentlich programmiert hat.
Wir haben in der Firma jedenfalls with aus dem Wortschatz gestrichen.

Aber am allermeisten nervt daran, dass ein schnelles Debuggen mit with praktisch unmöglich ist. Keine Mouseoverauswertungen, Strg + F7 nur mit zusätzlicher Tipparbeit, ...

Aber weder das eine noch das andere wird erzwungen, und wenigstens den warnenden Hinweis wegen dieser problempotentiellen doppelten Gleichbezeichnung hätte ich mir bei diesem sehr ausgereiften Compiler noch gewünscht.
Wenn der Compiler einen mehrdeutigen Bezeichner findet, warnt er auch. Aber er sucht nicht zusätzlich in weiter entfernteren Scopes nach mehrdeutigen Bezeichnern, denn das würde die Kompilierzeit logischerweise erhöhen, wenn z.B. nach jeder lokalen Variable überall gesucht werden würde...
Sebastian Jänicke
AppCentral

Geändert von jaenicke (18. Mär 2012 um 01:13 Uhr)
 
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

(?)

LinkBack to this Thread

Erstellt von For Type Datum
Untitled document This thread Refback 7. Nov 2011 09:54

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz