AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Uses: Interface vs. Implementation Section

Ein Thema von Martin W · begonnen am 16. Dez 2011 · letzter Beitrag vom 22. Dez 2011
Thema geschlossen
Seite 5 von 7   « Erste     345 67      
neo4a

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

AW: Uses: Interface vs. Implementation Section

  Alt 21. Dez 2011, 07:51
- es für mich und andere leichter zu verstehen und zu warten ist (Clean Code),
ich bin jetzt der "andere", für mich ist es nicht leichter zu warten,
Wir reden offensichtlich aneinander vorbei. Beschäftige Dich einfach auch einmal mit Clean Code. Es lohnt sich bestimmt auch für Dich und es ist auch auf Deutsch:

Interface Segregation Principle
Information Hiding Principle

BTW, es macht mir keinen Spaß mehr, mich mit Deiner Argumentation auseinanderzusetzen, weil ich Deinen "Ich bin nicht Deiner Meinung, denn ich mache es ja anders"-Stil substantiell etwas fade finde.
Andreas
 
Benutzerbild von DeddyH
DeddyH

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

AW: Uses: Interface vs. Implementation Section

  Alt 21. Dez 2011, 08:11
Diese Diskussion ist nicht nur flüssig, sie ist schon überflüssig. Beide Varianten haben ihre Vor- und Nachteile, also finde ich, das soll jeder so machen, wie er für richtig hält. Sich hier gegenseitig anzupflaumen oder mit irgendwelchen Prinzipien um sich zu werfen ist doch eher kontraproduktiv.
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
 
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#43

AW: Uses: Interface vs. Implementation Section

  Alt 21. Dez 2011, 08:22
@DeddyH
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
 
Furtbichler
(Gast)

n/a Beiträge
 
#44

AW: Uses: Interface vs. Implementation Section

  Alt 21. Dez 2011, 08:49
Ich bin weder kein Praktiker noch bin ich kein Ästhet, deshalb noch meine 3. Meinung:

Alle Units da hin, wo sie hingehören, weil
- es sich so gehört (Convention), ...
Die Ästheten sagen "Alle Units da hin, wo sie hingehören, ..."
Sei mir nicht böse, aber ich finde, Du bist ein Ästhet. Aber einer, der weiss, warum er einer ist. Noch besser.

Zitat:
... und es kompiliert trotzdem: Ist das nicht herrlich?!
Ick könnt heulen vor Glück

ich bin jetzt der "andere", für mich ist es nicht leichter zu warten...
Für dich besteht 'warten' offenbar nur aus der Tätigkeit, fremden Code erstmalig zum kompilieren zu bringen. Klar, dafür ist es natürlich einfacher, wenn alle Units im Interface-Teil sind. Es ist übrigens noch einfacher, wenn alle Units im Projektquellcode angegeben sind. Denn dann muss ich nicht mal in die einzelnen Units rein. Also fordern wir: Alle Units im Projektquelltext angeben?

Code zu warten bedeutet aber in erster Linie: Verstehen. Und zum Verständnis der Funktion ist es nun mal besser, unwichtige Details zu verstecken. Das gilt nicht nur für Programmcode, sondern ist generell wichtig.

Wenn ich jemanden den Auftrag gebe, Brötchen zu holen, ist es mir vollkommen egal, ob er dazu seinen braunen Mantel oder die Schijacke anzieht. Und ob er bar oder mit Karte bezahlt. D.h. der Auftrag (Inteface) enthält die Information 'Ich will Brötchen vom (uses) Bäcker'. Ich bevorzuge nämlich Brötchen vom Bäcker. Vom Supermarkt schmecken sie mir nicht.

Also:
Delphi-Quellcode:
Unit Frühstück;
Interface
uses BrotSorten, Bäcker;
Procedure BesorgeBrötchen (MeinLieblingsBäcker : TBäcker; Anzahl : Integer; out MeineBrötchen : TBrötchenTüte);

// Und wie Du das machst ist mir sowas von egal
Implementation
uses SkiJacke, BraunerMantel;
So. Wenn es mir denn nur um die Brötchen ginge, dann so:
Delphi-Quellcode:
Unit Frühstück;
Interface
uses BrotSorten;
Procedure BesorgeBrötchen (Anzahl : Integer; out MeineBrötchen : TBrötchenTüte);

// Und wie Du das machst und woher Du die Dinger holst ist mir sowas von egal
Implementation
uses Bäcker, Supermarkt,SkiJacke, BraunerMantel;
Nun kommt brechi und sagt: "Alles ins Interface, dann ist das leicher zu verstehen"
Delphi-Quellcode:
Unit Frühstück;
Interface
uses BrotSorten, // BrechiSeinLibOrdner/Brote/Src
    Bäcker, Supermarkt, // ..fasel
    SkiJacke, BraunerMantel; // blub

Procedure BesorgeBrötchen (Anzahl : Integer; out MeineBrötchen : TBrötchenTüte);

Implementation
brechi, Du kannst uns auch erklären, was der braune Mantel und die Skijacke mit dem Brötchenholen zu tun haben (sollen).

Delphi-Quellcode:
  uses
    windows, classes, sysutils, // delphi
    fastreport, fastscript, fastirgendwas // fastreport: libs/fastreport/src
    teechart, teetools; // teechart: libs/teechart/src
Ahso. Wenn ich das so mache, und dann aber noch etwas auf meine Form schmeisse (eine von 670 übrigens, wer soll das so hübsch formatieren?), dann passiert was..? Die Unit wird hintenran gepackt und ich darf sie wieder einsortieren. Du scheinst nicht unter Arbeitsüberlastung zu leiden. Ich habe jedenfalls keine Zeit für so einen Schnickschnack.

Übrigens... Was passiert, wenn der "Andere" seine Bibliotheken nicht unter "libs/irgendwas/src' hat? Dann ist dieser Kommentar eine ... Genau. Eine Lüge. Unnütz und häßlich. Aber es kompiliert ja.

Diese Diskussion ist nicht nur flüssig, sie ist schon überflüssig.
Nö. Der Stil ist daneben, die Diskussion nicht.
Zitat:
Sich hier gegenseitig anzupflaumen ... ist doch eher kontraproduktiv.
Jau.
Zitat:
...oder mit irgendwelchen Prinzipien um sich zu werfen
Da es sich bei den 'Prinzipien' nicht um 'irgendwelche' handelt, sondern um die, an die sich jeder Programmierer halten sollte, finde ich es auch wichtig, diese zu nennen.

Wie gesagt: Wer meint, das er nur einen Uses-Teil braucht (wie alle C# Programmierer), soll es gerne so machen. Aber bitte nicht mit Wartbarkeit kommen, und 'Kompilieren' meinen. Und nicht mit 'Übersichtlich' kommen, wenn man komplexen Code nicht mal im Ansatz versteht.

Da nun aber letztendlich jeder seinen eigenen Geschmack hat und selbst ein Messi in seiner Welt Ordnung im Chaos hat, kann man sich natürlich immer hinter dem Argument: "Also für mich ist das eben übersichtlicher" verstecken.

Aber eins ist klar: Freundlich bleiben und respektvoll reden. Und das fehlt hier zum Schluss doch etwas.
 
neo4a

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

AW: Uses: Interface vs. Implementation Section

  Alt 21. Dez 2011, 08:51
Diese Diskussion ist nicht nur flüssig, sie ist schon überflüssig. Beide Varianten haben ihre Vor- und Nachteile, also finde ich, das soll jeder so machen, wie er für richtig hält.
Diese Diskussion hat eine Eigendynamik bekommen und die Frage, was wohin gehört, ist dabei m.E. nur der Platzhalter zu einer grunsätzlicheren Überlegung.

Ein Bild: Solange ich mit meinem Motorrad nur in meinem Hühnerstall fahre, interessiert es kaum jemand, ob ich Links- oder Rechtsverkehr praktiziere. Sobald ich mich auf die öffentliche Straße ...

Auf unsere Diskussion übertragen bedeutet das: Jeder darf gern seine eigene Meinung haben, solange er in seinem Delphi-Hühnerstall nur sich selbst verantwortlich ist. Darüber hinaus gelten halt längst anerkannte Regeln und die Meinung eines Einzelnen ist da nicht mehr so sehr maßgeblich. Ich gebe zu, es ist nur für die relevant, die bestrebt sind, es "richtig" zu machen.

Aus diesem Blickwinkel ist die Diskussion inhaltlich tatsächlich längst entschieden.
Andreas

Geändert von neo4a (21. Dez 2011 um 09:07 Uhr)
 
Benutzerbild von DeddyH
DeddyH

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

AW: Uses: Interface vs. Implementation Section

  Alt 21. Dez 2011, 08:56
Nur ist es bei diesen Regeln oftmals so, dass man sich nur schwer konsequent an eine halten kann, ohne damit eine andere zu verletzen.
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
 
#47

AW: Uses: Interface vs. Implementation Section

  Alt 21. Dez 2011, 09:02
Nur ist es bei diesen Regeln oftmals so, dass man sich nur schwer konsequent an eine halten kann, ohne damit eine andere zu verletzen.
In der Tat überlappen sich an manchen Stellen die Bedeutungen und führen je nach Gewichtung zu anderen Ausführungen. Das ist schon okay. Aber man muss sie ja deswegen nicht komplett ignorieren, oder?!
Andreas
 
Benutzerbild von DeddyH
DeddyH

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

AW: Uses: Interface vs. Implementation Section

  Alt 21. Dez 2011, 09:04
Das hat ja auch niemand behauptet. Die richtige Balance zu finden ist die Kunst. Und hier muss eben jeder für sich entscheiden, welche Regel ihm wichtiger ist.
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
 
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#49

AW: Uses: Interface vs. Implementation Section

  Alt 21. Dez 2011, 09:11
Diese Diskussion ist nicht nur flüssig, sie ist schon überflüssig. Beide Varianten haben ihre Vor- und Nachteile, also finde ich, das soll jeder so machen, wie er für richtig hält. Sich hier gegenseitig anzupflaumen oder mit irgendwelchen Prinzipien um sich zu werfen ist doch eher kontraproduktiv.
Bei manchen Themen gibt es halt kein "richtiges" Ergebnis. Wichtig ist - denke ich - das Bewusstsein, dass es hier verschiedene Arten gibt, die beide mit individuellen Merkmalen behaftet sind.
Daniel R. Wolf
mit Grüßen aus Hamburg
 
neo4a

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

AW: Uses: Interface vs. Implementation Section

  Alt 21. Dez 2011, 09:15
Das hat ja auch niemand behauptet. Die richtige Balance zu finden ist die Kunst. Und hier muss eben jeder für sich entscheiden, welche Regel ihm wichtiger ist.
Genau das meine ich mit substantiell: Ausgehend von Regeln und Konventionen. Wer hier aber seine Meinung den Regeln und Konventionen gleichstellt oder sogar überordnet, verabschiedet sich leider inhaltlich aus der Diskussionsrunde, weil dann vor allem die gemeinsame Basis fehlt.
Andreas
 
Thema geschlossen
Seite 5 von 7   « Erste     345 67      


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 10:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz