Nop schrieb:
> Eine nette Frage für Bewerbungsgespräche. ;-)
Naja, das "," da ist doch nicht der Komma-Operator?
Nop schrieb:
> Zumal man dann anhand der
> durchgehenden Großschreibung sieht, was das sein soll.
Kann trotzdem zu Kollisionen führen.
Nop schrieb:
> Bei
> const-variablen wäre das verwirrend, die in Caps zu schreiben, und in
> normaler Variablen-Schreibung wäre das noch verwirrender.
Konstanten darf man ja auch klein schreiben
Nop schrieb:
> Allerdings nehme ich bei den Bit-defines auf Cortex-M immer "UL" als
> Suffix, wodurch der Typ hinkommt wie gewünscht.
Ja, bis du es portierst... :)
Ein
1 | static const uint32_t PinMask = 1 << 13;
|
hat nur Vorteile gegenüber einem
1 | #define PinMask ((uint32_t) (1 << 13))
|
wenn man nicht gerade einzelne Bytes Quelltext sparen möchte. In C gibt
es da ein paar Einschränkungen bzgl. Array-Größen-Definitionen, aber
Arduino ist ja C++.
Um es mit Bjarne Stroustrup's Worten zu sagen:
"One of my least favorite activities is tracking down an error caused by
a name being macro-substituted into something completely different by a
macro defined in an indirectly #include'd header that I have never even
heard of." [1]
Und
"Avoid macros excpt for include guards " [2]
Und
"Most people seriously overuse casts and macros" [2]
1: The C++ Programming Language 4th Ed., S. 425
2: www.stroustrup.com/bs_faq.htmla