29.09.2025, 07:33
(Dieser Beitrag wurde zuletzt bearbeitet: 29.09.2025, 07:34 von siebenstreich.)
Ich habe in letzter Zeit immer mal wieder in die commits geschaut. Sehr befriedigend zu sehen, wie die structs (z.B. hero) entstehen und dann diese umständlichen Konstrukte mit readbs und zu Fuß nachgebauten Struct- bzw. Arrayzugriffen rückgebaut werden.
Zwei Fragen/Anmerkungen:
(1)
Dieser Commit: Warum muss da immer umständlich "(struct struct_hero*)hero" gecastet werden?
Gleich ein Versuch der Erklärung:
Solange noch Zugriffe "zu Fuß" der alten Methode "hero + HERO_MONEY" existieren, muss hero den Typ Bit8u* haben. Wenn alles umgebaut wurde, kann der Typ auf struct_hero* umgestellt werden, womit die Typecasts (struct struct_hero*)hero nicht mehr notwendig sind und entfernt werden können. Richtig?
(2)
Anlässlich dieses Commits ist es mir wieder eingefallen: Mir persönlich gefällt die gelegentlich anzutreffende Variablenbezeichnung mit "_no" gar nicht. Mein Hirn denkt da immer zuest an das englische Wort "no", also "nein". Zwei Vorschläge für Alternativen:
Das ganze nur als Anmerkung, es ist ja ein totaler Nebenkriegsschauplatz. Aber vielleicht kann man (ich?) das irgendwann mal bereinigen, wenn sich die großen Wogen gegleättet haben.
(Mein Gedächtnis verblasst schon etwas: Evtl. hatte ich entsprechende Änderungen damals auch gelegentlich gemacht. Aber sicher nicht flächendeckend: Ich hatte immer etwas Skrupel, mich zu sehr an den alten Bezeichnern zu vergreifen.)
Zwei Fragen/Anmerkungen:
(1)
Dieser Commit: Warum muss da immer umständlich "(struct struct_hero*)hero" gecastet werden?
Gleich ein Versuch der Erklärung:
Solange noch Zugriffe "zu Fuß" der alten Methode "hero + HERO_MONEY" existieren, muss hero den Typ Bit8u* haben. Wenn alles umgebaut wurde, kann der Typ auf struct_hero* umgestellt werden, womit die Typecasts (struct struct_hero*)hero nicht mehr notwendig sind und entfernt werden können. Richtig?
(2)
Anlässlich dieses Commits ist es mir wieder eingefallen: Mir persönlich gefällt die gelegentlich anzutreffende Variablenbezeichnung mit "_no" gar nicht. Mein Hirn denkt da immer zuest an das englische Wort "no", also "nein". Zwei Vorschläge für Alternativen:
- _nr
Ich weiß, das ist ein Germanismus: Die offizielle Abkürzung von "number" im Englischen is nun mal "no". Aber letztlich geht es ja nicht darum, einen Literaturnobelpreis zu gewinnen, sondern möglichst selbsterklärende Bezeichner zu wählen. Der Zweck heiligt die Mittel.
- Oder gleich so:
_id
Das ganze nur als Anmerkung, es ist ja ein totaler Nebenkriegsschauplatz. Aber vielleicht kann man (ich?) das irgendwann mal bereinigen, wenn sich die großen Wogen gegleättet haben.
(Mein Gedächtnis verblasst schon etwas: Evtl. hatte ich entsprechende Änderungen damals auch gelegentlich gemacht. Aber sicher nicht flächendeckend: Ich hatte immer etwas Skrupel, mich zu sehr an den alten Bezeichnern zu vergreifen.)

