AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Uses: Interface vs. Implementation Section

Ein Thema von Martin W · begonnen am 16. Dez 2011 · letzter Beitrag vom 22. Dez 2011
Thema geschlossen
angos

Registriert seit: 26. Mai 2004
Ort: Rheine
551 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Uses: Interface vs. Implementation Section

  Alt 20. Dez 2011, 07:47

Aber es gibt auch das KISS-Prinzip.
'Simple' heißt nicht: 'An einer Stelle'. Oder deklarierst du alle Variablen auch 'an einer Stelle'. Weil, is ja 'KISS'
Nein, das mache ich natürlich nicht und ich habe auch nicht behauptet, dass KISS heißt, alles an einer Stelle unterzubringen. Nur in genau diesem Fall (eingebundene Units) ist es (für mich persönlich) ganz klar übersichtlicher.
Zitat:
Zitat:
Das es ein Tool dafür gibt, ist kein Grund diese Funktionalität zu nutzen.
Aber ein Indiz dafür, das es jenseits des eigenen Horizonts noch andere Argumente gibt.
Absolut richtig. Deswegen frage ich ja nach. Bis auf den Punkt, dass es den Kompiliervorgang beschleunigen kann, sehe ich noch keinen Mehrwert für mich. Ich nehme nicht einfach Dinge als gegeben hin, nur weil xy das ja auch so macht. Wenn es für mich einen wirklichen Mehrwert bringt will ich das ja auch nutzen. Nur dafür wurde für mich noch kein Argument gebracht, denn der Kompiliervorgang ist in meinen jetzigen Projekten mehr als schnell genug. Ich will das ja nicht schlecht reden, ich möchte einfach nur Argumente, warum man das tun sollte.

Zitat:
Zitat:
Fazit: Aufgrund der Lesbarkeit (alles an einer Stelle ist übersichtlicher)
Ist es nicht. Wie schon gesagt, dann gilt das auch für Variablen.
OK, dann ist es für dich nicht lesbarer und zieht somit für dich als Argument, das zu benutzen. Für mich eben nicht, aber das ist einfach eine Sache der persönlichen Vorlieben.
Zitat:

Ihr immer mit euren zirkulären Referenzen: Wenn ihr davor Angst habt, dann lernt doch einfach, eure Units so zu bauen, das das nicht passiert. Ich mach mir doch meinen Code nicht unleserlich ('alles an einer Stelle') nur weil ich keinen Plan habe, wie ich zirkuläre Referenzen vermeiden kann.
Es wäre schön, wenn man konstruktiv bleiben könnte... Fehler können nunmal passieren, warum nicht dafür sorgen, dass sie nicht auftreten können? Man sagt ja auch keinem Menschen an einer Metalpresse, dass er lernen soll seine Finger nicht in das Gerät zu halten (zumindest heutzutage ), sondern man baut die Maschinen so, dass beide Hände für das Betätigen der Presse notwendig sind.

Achja: Ich habe das auch mal so gemacht, mit dem Verteilen der Units und hatte mir irgendwann mal eine zirkuläre Referenz eingefangen.



Gruß
Ansgar
 
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.373 Beiträge
 
Delphi 12 Athens
 
#2

AW: Uses: Interface vs. Implementation Section

  Alt 20. Dez 2011, 08:29
Wenn du die Variablen ansprichts ... dann hätte ich gern eine lokale Usesklausel, denn es kommt oftmals vor, daß ich eine Unit nur innerhalb einer einer bestimmten Methode benötige.


Nja, im Prinzip ist erstmal eine Glaubensfrage, wie als ob man begin, BEGIN, Begin oder begIN schreiben möchte.



Für den Kompiler gibt es allerdings nur Nachteile, egal was man macht.

> gibt es nur die Interfaceklausel, dann hat er weniger Arbeit [edit] ups, ich meinte ja die Nachteile
> gibt es nocheine Klausel in der Implementation, dann hat er mehr Arbeit
Wobei es auch so schon nicht leicht ist, da er eigentlich versucht Units in der Reihenfolge einzubinden, wie man es dort angegeben hat, was ja leider nicht immer klappt.

Aber wenn man niemals Initializations- und Finalizations-Abschnitte verwendet, dann hab man keine Probleme zu befürchten, wenn die genutzten Units in der Implementation stehen.
Ein Therapeut entspricht 1024 Gigapeut.
 
neo4a

Registriert seit: 22. Jan 2007
Ort: Ingolstadt
362 Beiträge
 
Delphi XE2 Architect
 
#3

AW: Uses: Interface vs. Implementation Section

  Alt 20. Dez 2011, 08:42
Vielleicht kommt ein Teil der Meinungspolemik in diesem Thread auch von der unterschiedlichen Herangehensweise bzw. Nutzung von Delphi?

Beim RAD-Ansatz übernimmt ja Delphi quasi die Verwaltung der Units und packt sie alternativlos und korrekt in den Interface-Bereich.

Sobald ich jedoch eigene Klassen oder Forms/Frames ohne RAD einsetze, bin ich allein der "Bauherr" meiner Units und der Verwalter von deren Referenzen. Und Furtbichler könnte sich z.B. auch auf N.Hodge berufen, der hier Regeln aufstellt und da besonders darauf hinweist, dass man funktionierenden Code haben kann, ohne irgendwelchen Code in der Interface Section (mittels eines DI-Frameworks).

Hier kommen dann auch schon Entwicklungs-Prinzipien und -Methoden (Law of Demeter, Testable Code, Clean Code) in's Spiel, die etwas über den bloßen Wunsch hinaus gehen, immer alles im Blick haben zu wollen.
Andreas

Geändert von neo4a (20. Dez 2011 um 08:48 Uhr)
 
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.659 Beiträge
 
Delphi 12 Athens
 
#4

AW: Uses: Interface vs. Implementation Section

  Alt 20. Dez 2011, 08:46
Beim RAD-Ansatz übernimmt ja Delphi quasi die Verwaltung der Units und packt sie alternativlos und korrekt in den Interface-Bereich.
Nicht immer. Wenn man auf andere Formulare zugreifen möchte, die entsprechende Unit aber noch nicht eingebunden hat, packt Delphi diese in den implementation-Abschnitt, wenn man die Nachfrage bestätigt.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
 
neo4a

Registriert seit: 22. Jan 2007
Ort: Ingolstadt
362 Beiträge
 
Delphi XE2 Architect
 
#5

AW: Uses: Interface vs. Implementation Section

  Alt 20. Dez 2011, 09:03
Beim RAD-Ansatz übernimmt ja Delphi quasi die Verwaltung der Units und packt sie alternativlos und korrekt in den Interface-Bereich.
Nicht immer. Wenn man auf andere Formulare zugreifen möchte, die entsprechende Unit aber noch nicht eingebunden hat, packt Delphi diese in den implementation-Abschnitt, wenn man die Nachfrage bestätigt.
Das stimmt, aber wer macht denn freiwillig so etwas?

Zitat von Delphi Pretty Good Practices #4 - Do Work in Classes:
One way to tell you are not doing this is if you tend to do “OnClick” programming, or relying on event handlers to do the work of your application.
Andreas
 
Thema geschlossen

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:41 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