Am 07.12.2017 um 20:48 schrieb OoOHWHOoO:
BEZUG 2: Pitonyak hat dieses Verhalten als BUG (der
"IsMissing"-Anweisung) eingestuft und gemeldet.
Hint: Nur weil irgend jemand irgend etwas als Bug *bezeichnet*, bedeutet
das noch lange nicht, dass das ein Bug *ist*.
Es ist allerdings richtig dass die Dokumentationen bezüglich sowohl
OPTION als auch ISMISSING jeweils sehr mager ist, und die *genauen*
'Gebrauchsbedingungen' nicht ausreichend darstellen. /Ich/ stehe auf
Thomas' Seite, dass das Auslassen eines Parameters nie vorgesehen war,
und daher ein undokumentiertes Feature darstellt, das außerdem auch nur
mit dem Typen VARIANT sauber funktioniert.
[3] Das Beispiel in der "LO BASIC-IDE Hilfe" zu "Optional" ist
fehlerfrei (BEZUG 4):
[4] Auf Grund des noch bestehenden BUGs (wenn denn Pitonyak mit seiner
Einschätzung richtig liegt) tendiere ich persönlich zu Thomas' Vorschlag
"sauberer Programmierung" (keinen optionalen Parameter zwischen zwei
Kommas weglassen), da man zu leicht vergessen könnte, dass eine (in
allen Nutzungs-Varianten) funktionierende "IsMissing"-Anweisung zwingend
von der Typ-Deklaration "Variant" abhängt für alle optionalen Parameter.
Meine Meinung aufgrund langjähriger Erfahrung ist, dass optionale
Parameter nur im alleräußersten Notfall verwendet werden sollten, und
zwar nicht wegen dem von dir angesprochenen Problem, sondern aus
wartungstechnischen Gründen. Wenn du in 3 Monaten oder 5 Jahren dein
Programm umschreiben musst, bist du dir selber dankbar, wenn du es von
vornherein so geschrieben hast, dass du *dann* auch schnell wieder
hinein findest. Und das ist bei einer klar vorgegebenen
Parameterstruktur deutlich einfacher als bei einer wirren, bei der man
z. B. erst mal lange überlegen muss, was denn nun ursprünglich erlaubt
gewesen sein soll und was nicht, usw.
Bei einigen wenigen Parametern würde ich lieber konstant einen
Defaultwert übergeben, und bei vielen Parametern macht es eh mehr Sinn,
zu einem Array u. ä. zu greifen.
Wolfgang
--
If I could, I would wish for ONE news INDEED being a fake, namely for
the news of this immature cockalorum in fact became President of the
United States.
--
Liste abmelden mit E-Mail an: users+unsubscribe@de.libreoffice.org
Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.