![]() |
AW: Overload function
Zitat:
Zitat:
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:
Unglaublich unübersichtlich, aber eben auch praktisch. Ein Zugeständnis das Autors an -eben- Faulheit.
AddValue(property, label);
AddControl(property, label, width); AddControl(property, control, label, width); AddControl(property, control, label, size, color); ... usw. ca 50 Varianten |
AW: Overload function
Zitat:
Code:
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?
addControl(property, control, label, size, color)
|
AW: Overload function
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.
|
AW: Overload function
Das werden hier nun mal immer Grundsatzdiskussionen.
|
AW: Overload function
Zitat:
Delphi-Quellcode:
und
ConvertSecurityDescriptorToStringSecurityDescriptor
![]() Gruß, Sven |
AW: Overload function
Zitat:
|
AW: Overload function
Zitat:
'CnvScDsc2StrScDsc'? Zitat:
Delphi-Quellcode:
Dann ist es aber Essig mit 'schnell ein Layout zusammentippen', denn
AddControl (Property, LayoutParams);
Delphi-Quellcode:
Klar, sauber, einfach. Und umständlich(er). Imho auch leichter zu testen (das wäre aber zu beweisen).
//statt
AddControl(MyProperty,'Name',50); // // schreibt man nun // LayoutParams := TLayoutParams.Create; LayoutParams.Label :='Name'; LayoutParams.Width := 50; AddControl (MyProperty,LayoutParams); Man muss sich einfach mal dran gewöhnen (imho), das gute Softwareentwicklung mit Dahingeschreibsel (aka Bequemlichkeit) nicht mehr viel zu tun haben kann. Es kommt nur noch auf Testbarkeit, sauberes Design, klare Strukturen usw. an. Bequemlichkeit hat da keinen Platz mehr. Gestern hat man eine Klasse in 1 Stunde erstellt. Heute dauert das 2-3 Stunden, weil die Unittests noch geschrieben werden müssen und man CC einhalten muss/sollte. Wir räumen gerade ein Schrottprojekt auf und bei jedem Bugfix (5 Minuten) folgt Refactoring (2-4 Std), Unittests (2 Std) und Schreibkram (0.5 - 1 Std). Hobbyprogrammierer müssen das natürlich nicht so machen. Zitat:
|
AW: Overload function
Zitat:
|
AW: Overload function
Zitat:
Zitat:
Man sieht dann besser welche Parameter eigentlich was machen. Bei guten Variablennamen sollte das ohnehin nicht so ein Problem sein, aber wenn das ein paar mehr Parameter sind, reicht das nicht mehr immer. |
AW: Overload function
Zitat:
Code:
addControl(myProperty, LayoutParams.newBuilder()
.setLabel('Name') .setWidth(50) .build()); Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:56 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