Beiträge von FunWithRobots

    ist ja im Endeffekt nichts anderes, als "b" wie bool.

    Hallo,


    etwas anders ist es schon. Der Sinn ist der, dass man Code wie normale Sätze lesen kann. Bsp: "IF GripperHasPart AND NumberOfParts > 3" liest sich einfach besser als "IF bPart AND iParts > 3". Es geht um das vollständige Ausschreiben von Zuständen (nicht nur Abkürzungen, auch wenn sich das nicht immer vermeiden lässt) und um die Verwendung bestimmter "Schlüssel"-Wörter.

    Bei den Tooltips und anderer Hilfsmittel kommt es sicher stark auf die Qualität der IDE an.

    Letztendlich ist es wichtig, dass man sich an ein bestimmtes System hält und sinnvolle Variablennamen verwendet.

    Allerdings verbietet auch die microsoftsche Programmierrichtlinie die Verwendung der ungarischen Notation...nicht alles, was vom Softwareriesen festgelegt wird, ist sinnvoll :evil1:

    Hallo!

    Doch, das ist so gar sehr sinnvoll!

    Die ungarische Notation ist ein Modell, welches vor ca. 20 Jahren noch sinnvoll war, aber heutzutage eher lästig ist. In höheren Programmiersprachen (und dazu gehört KRL nicht) ist die ungarische Notation nahezu unbekannt und das liegt einerseits an der Verbreitung der objektorientierten Programmierung, sowie an den komfortablen IDEs, wie z.B. Visual Studio. Der Typ einer Variablen lässt sich heute durch simples "Mausdrüberhalten" herausbekommen, da braucht man keine Präfixe mehr.

    Auch Roboterprogrammierer, ins Besondere KUKA-Programmierer, brauchen heute nicht mehr auf dem Smartpad programmieren, sondern können Work Visual benutzen, welches ebenfalls über Tooltips den Typ der Variablen anzeigt. Es ist schon erstaunlich, dass KUKA-Programmierer bei einem Zeichenumfang von 24 so verschwenderisch mit den Zeichen umgehen. Einerseits verballern sie die Zeichen für Präfixe und Unterstriche, andererseits meinen viele nur 4-5 Buchstaben müssten reichen. Ich habe schon Exoten wie "bBool" oder diEingang34" gesehen, da fehlen mir dann die Worte...

    Die Microsoftrichtlinie wird hier nur teilweise zitiert. Sie besagt auch, dass Variablen auf bestimmte Art und Weise benannt werden sollen, so dass der Kontext sofort erkannt wird. Ein Boolscher Zustand könnte z.B. so aussehen: "IsActive" oder "HasPart". Es ist eindeutig, das "Is" einen boolschen Zustand beschreibt. Oder wenn eine Zuweisung von True oder False erfolgt, kann es ja nur eine Bool sein. Genauso könnten eine numerische Variable "NumberOfGrippers" heissen, Die Anzahl von Greifern kann nur numerisch festgelegt werden.

    Aus meiner Sicht sollte die UN bei einfachen Datentypen vermieden werden, da der Code sich schlecht lesen lässt, und es keinen Grund dafür mehr gibt. Die einzige Ausnahme bei mir sind noch I/Os die ich mit "di" und "do" Präfixe.