Log und Klammerung

Antworten
Benutzeravatar
GEI
Beiträge: 229
Registriert: 12 Feb 2010, 13:00
Wohnort: Braunschweig
Kontaktdaten:

Log und Klammerung

Beitrag von GEI »

Üblich ist ja die Klammerung bei verknüpften Abfragen von Eigenschaften in der Form

Code: Alles auswählen

if ( (GetSystemType = "x86 System") OR (GetOS = "Linux") )
        LogError "32Bit or Linux is not supported for " + $ProductId$
        isFatalError "Win64Bit only!"
else
        comment "Win64Bit= ok"
endif
mit dem daraus resultierenden Log

Code: Alles auswählen

(103)     [6] [Okt 05 06:35:48:703] [wireshark] If
(104)     [5] [Okt 05 06:35:48:703] [wireshark]   GetSystemType = "x86 System"   <<< result false
(105)     [5] [Okt 05 06:35:48:703] [wireshark]   GetOS = "Linux"   <<< result false
(106)     [5] [Okt 05 06:35:48:703] [wireshark]   (GetOS = "Linux")   <<< result false
(107)     [5] [Okt 05 06:35:48:703] [wireshark]   (GetSystemType = "x86 System") OR (GetOS = "Linux")   <<< result false
(108)     [6] [Okt 05 06:35:48:703] [wireshark] Then
(109)     [6] [Okt 05 06:35:48:703] [wireshark] Else
(110)     [5] [Okt 05 06:35:48:703] [wireshark]   comment: Win64Bit= ok
(111)     [6] [Okt 05 06:35:48:703] [wireshark] EndIf
lässt man die Klammerung weg, wird auch das Log kürzer

Code: Alles auswählen

if GetSystemType = "x86 System" OR GetOS = "Linux"
        LogError "32Bit or Linux is not supported for " + $ProductId$
        isFatalError "Win64Bit only!"
else
        comment "Win64Bit= ok"
endif

Code: Alles auswählen

(103)     [6] [Okt 05 06:42:34:057] [wireshark] If
(104)     [5] [Okt 05 06:42:34:057] [wireshark]   GetOS = "Linux"   <<< result false
(105)     [5] [Okt 05 06:42:34:057] [wireshark]   GetSystemType = "x86 System" OR GetOS = "Linux"   <<< result false
(106)     [6] [Okt 05 06:42:34:057] [wireshark] Then
(107)     [6] [Okt 05 06:42:34:057] [wireshark] Else
(108)     [5] [Okt 05 06:42:34:057] [wireshark]   comment: Win64Bit= ok
(109)     [6] [Okt 05 06:42:34:057] [wireshark] EndIf
Mir erscheint es so, dass durch die übliche Klammerung jeder Ausdruck einzeln und dann noch der zusammengesetzte Ausdruck geprüft wird ...

Hier nun die Frage - was ist 'best praktice' beim Scripten?
Georg-Eckert-Institut - Leibniz-Institut für internationale Schulbuchforschung (GEI)
---
'opsi4instituts' = Communityprojekt für wissenschaftliche Einrichtungen
offenes Repository, Update-Notifier
http://www.gei.de/o4i - https://wiki.o4i.org
Benutzeravatar
r.roeder
uib-Team
Beiträge: 540
Registriert: 02 Jul 2008, 10:08

Re: Log und Klammerung

Beitrag von r.roeder »

"best practice" hat einen technische Themen und einen Gewohnheits-Aspekt

Die Klammern schreibt man aus der Praxis heraus, die sich am C-Stil insbesondere nach if orientiert. In anderen Programmiersprachen würde man diese Klammern nicht schreiben.

Technisch ist es so aus, dass für den opsi-script-Interpreter mit der Klammer ein logischer Ausdruck beginnt, dessen Ergebnis bei entsprechendem Loglevel geloggt wird. Vielleicht kann man hier die Logfunktion verändern.

Grüße
R.Röder
opsi support - uib gmbh
For productive opsi installations we recommend maintainance + support contracts which are the base of opsi development.


Wondering who's using opsi? Have a look at the opsi map: http://opsi.org/opsi-map/.
Antworten