AGB  ·  Datenschutz  ·  Impressum  







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

Overload function

Ein Thema von RWarnecke · begonnen am 20. Nov 2013 · letzter Beitrag vom 23. Nov 2013
Antwort Antwort
Furtbichler
(Gast)

n/a Beiträge
 
#1

AW: Overload function

  Alt 21. Nov 2013, 16:13
Das sieht dann lustig aus...
Na klar. Übertreibe maßlos, werfe noch die Returnwerte dazu, damit das schön plakativ aussieht und stelle Dich zum Schluß hin und schreie: "Ha! Recht gehabt!". Ich frage mich zwar, was das mit meinem Beitrag zu tun hat, aber blöd sieht das schon aus, wenn Du so eine Nomenklatur umsetzt, da hast Du recht. Must halt ein wenig üben, bis das sinnvoll wird.

Nun, die Frage ist doch, welche Probleme das Überladen aufwerfen könnte (Verständnisprobleme beim Lesen des Quellcodes/ Ambiguitäten).
Mir ist Überladen ganz angenehm (wegen meiner eigene Faulheit natürlich ). Wenn keine Probleme entstehen, dann ist es halt syntaktischer Zucker.
Jupp.

Ich schlage mich gerade mit einem UI-Framework herum, das quasi eine Methode hat: 'AddControl'. Im Formular soll ein Control hinzugefügt und an eine Property gebunden werden.

Code:
AddValue(property, label);
AddControl(property, label, width);
AddControl(property, control, label, width);
AddControl(property, control, label, size, color);
...
usw. ca 50 Varianten
Unglaublich unübersichtlich, aber eben auch praktisch. Ein Zugeständnis das Autors an -eben- Faulheit.
  Mit Zitat antworten Zitat
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#2

AW: Overload function

  Alt 21. Nov 2013, 16:22
Code:
AddValue(property, label);
AddControl(property, label, width);
AddControl(property, control, label, width);
AddControl(property, control, label, size, color);
...
usw. ca 50 Varianten
Unglaublich unübersichtlich, aber eben auch praktisch. Ein Zugeständnis das Autors an -eben- Faulheit.
Wobei, hier finde ich hängt es stark von den Parametern ab, die übergeben werden: Diese sollten namentlich ausreichend Sinn machen dass erkannt wird, welcher Wert übergeben wird. Dann werden zusätzliche Informationen als die zentrale Aufgabe der Methode in ihrem Namen überflüssig weil redundant. Das würde dann bei deinem Beispiel zu
Code:
addControl(property, control, label, size, color)
führen. Hingegen für 50 Varianten 50 unterschiedliche, sinnvolle Namen zu herzuleiten stelle ich mir unübersichtlicher vor. Wie würde bei deinem Beispiel guter Vorschlag aussehen?
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#3

AW: Overload function

  Alt 21. Nov 2013, 16:50
Wow, ich habe gar nicht gewusst, dass man das Thema so auseinander nehmen kann. Bei mir war es so, dass die THauptklasse schon da war und ich die Funktion mit TGroup nur noch hinzugefügt habe. Desweiteren unterscheiden sich die Funktionen mit TPage und TGroup nur in zwei bis drei Zeilen. Deshalb erschien es mir nur klar, dass ich für TGroup eine Overload function mache.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#4

AW: Overload function

  Alt 21. Nov 2013, 18:12
Das werden hier nun mal immer Grundsatzdiskussionen.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.875 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Overload function

  Alt 22. Nov 2013, 06:47
Das werden hier nun mal immer Grundsatzdiskussionen.
Bei denen sich komischerweise immer die selben Mitglieder beteiligen.
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort


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 20:14 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