Domino 9 und frühere Versionen > ND9: Entwicklung

Funktionen kompakt programmieren?

<< < (2/3) > >>

Tode:
Das wird aber problematisch werden, weil Du nur skalare Werte übergeben kannst oder auch die Übergabeparameter global deklarieren musst... Würde ich persönlich nicht machen...

Andrew Harder:
Andere Idee...
wenn Du die lange Funktion in kleinere Teile zerlegst, so das in FunktionA und FunktionB nur noch
die Unterschiede drinnen sind und die Aufrufe der neuen Funktionen, dann hättest Du einen Kompromiss.
Der doppelte Code wäre weniger es wären dann nur noch die Aufrufe der neuen Funktionen doppelt.

Im nächsten Schritt würde ich dann aber auch eine Klasse draus machen wollen, vor allem wenn der Code
irgendwann irgendwo wieder mal gebraucht werden kann.
Den Namen der Ansicht könnte man dann in einer privaten get Funktion setzen, oder in einer Property.
Das lässt sich dann wunderbar überschreiben.
Oder halt eine public set Methode um die Ansicht zu setzen, halte ich aber nur in seltenen Fällen für sinnvoll.

flaite:
In OO würdest Du Command oder auch Strategy bis sogar Template Method GOF Pattern verwenden.
Inzwischen haben die Gelehrten aber festgestellt, dass es eigentlich ein bischen dappisch ist, Funktionen in eine Objekt-Struktur zu wrappern, nur damit man sie an eine andere Funktion/Methode übergeben kann.
Die neuen funktionalen Möglichkeiten von Java8 vereinfachen da vieles.
https://www.voxxed.com/blog/2016/04/gang-four-patterns-functional-light-part-1/ (tolle Artikel-Serie, wer sich drauf einläßt).

Vermutlich wäre es besser gewesen, wenn man Ende der 90er funktionale statt OO-Fähigkeiten in LotusScript eingebaut hätte, aber der Zeitgeist war halt nicht so.

JavaScript ist funktionale Sprache genug, dass es direkt unterstützt wird. Seit Ende der 90er. 
Hier ein Beispiel: http://stackoverflow.com/a/5752600

Bruce Willis:

--- Zitat von: eknori am 30.08.16 - 17:40:17 ---Wie wäre es mit Klassen und OOP?

--- Ende Zitat ---
Sie sind für mich etwas zu hoch... Muss mich bei Gelegenheit einarbeiten...
Danke, Ulrich.

Bruce Willis:

--- Zitat von: Tode am 30.08.16 - 18:41:17 ---Du könntest sowas machen: Call Funktion3(Ansichtx,Funktionsname,x,y,z) und in der Funktion3: if Funktionsname = "Funktion1" then Call Funktion1(x,y,z) else call Funktion2(x,y,z)

--- Ende Zitat ---
Cool!!!
Genau das brauche ich und werde gleich einbauen.
Danke, Torsten!

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln