Code-Review 02 #128

Closed
opened 2025-11-25 15:13:06 +01:00 by arne · 1 comment
arne commented 2025-11-25 15:13:06 +01:00 (Migrated from git.sopranium.de)
No description provided.
lassel commented 2025-12-01 18:40:16 +01:00 (Migrated from git.sopranium.de)

Ich habe mir den GameplayScreen angesehen, da dieser in Gruppentreffen bereits als etwas chaotisch aufgefallen ist.

Beim Lesen ist mir aufgefallen, dass das wahrscheinlich daran liegt, dass in ihm als einer zentralen Komponente des Spiels, viele andere Komponenten kombiniert werden. Dementsprechend arbeitet auch eigentlich das ganze Team damit.
Um den screen zu strukturieren und das Verständnis bei der Zusammenarbeit zu erleichtern habe ich eine klare Struktur für den screen definiert:

  1. Private member fields
  2. Public properties
  3. Constructor
  4. Public methods
  5. Helper methods

An dieser kann sich jeder der etwas implementiert oder ändert orientieren, um Chaos zu vermeiden.
0fb2537169

Außerdem habe ich:

  • die Initialisierung des SoundManagers in den SoundManager selbst verlagert (Principle of Least Astonishment)
  • den Konstruktor und die Update Methode restrukturiert (Separation of Concerns)
  • die Dokumentation verbessert

2ec261cbcb

Further improvements to the code

  • Removed outdated UI framework parts 5fd24d261e 313b91b08a
  • Implemented LabeledComponent -> Improved statistics and achievement screen ef89248a27 79cadd0079
  • Improved required system manager injection for UI components and screens 79cadd0079 a43cec267c 7199e894ea
  • Added load game button with linked funktion to PauseMenuScreen 70f2e476f7
  • Improved public/private states of fields (Tell, don't ask) 7199e894ea
  • Implemented IScreenManager (Dependency Inversion Principle) 7199e894ea
  • Implemented screen manager function to toggle fullscreen mode (with F11), implemented PlayerAction ToggleFullscreenMode 2cd65afed6
Ich habe mir den GameplayScreen angesehen, da dieser in Gruppentreffen bereits als etwas chaotisch aufgefallen ist. Beim Lesen ist mir aufgefallen, dass das wahrscheinlich daran liegt, dass in ihm als einer zentralen Komponente des Spiels, viele andere Komponenten kombiniert werden. Dementsprechend arbeitet auch eigentlich das ganze Team damit. Um den screen zu strukturieren und das Verständnis bei der Zusammenarbeit zu erleichtern habe ich eine klare Struktur für den screen definiert: 1. Private member fields 2. Public properties 3. Constructor 4. Public methods 5. Helper methods An dieser kann sich jeder der etwas implementiert oder ändert orientieren, um Chaos zu vermeiden. 0fb25371696daabfea30e1803deaf715a4d75996 Außerdem habe ich: - die Initialisierung des SoundManagers in den SoundManager selbst verlagert (Principle of Least Astonishment) - den Konstruktor und die Update Methode restrukturiert (Separation of Concerns) - die Dokumentation verbessert 2ec261cbcba4589f9d166d983c7e0f2dcfd3f3e4 # Further improvements to the code - [x] Removed outdated UI framework parts 5fd24d261ee50a9352eed886ead26bcc22b5448d 313b91b08a4ed6363772193113247820b6604b01 - [x] Implemented LabeledComponent -> Improved statistics and achievement screen ef89248a2713cb684482618ba8e80bc52755d68f 79cadd0079fa93667ee7b9eb9d5a51e894f833c9 - [x] Improved required system manager injection for UI components and screens 79cadd0079fa93667ee7b9eb9d5a51e894f833c9 a43cec267cd0c8feed1638f4e204ba7d5b66146f 7199e894ea4cc4a8e0efa89b2a681364a0af2f48 - [x] Added load game button with linked funktion to PauseMenuScreen 70f2e476f736963cc030df971ad16e1e7b994a9e - [x] Improved public/private states of fields (Tell, don't ask) 7199e894ea4cc4a8e0efa89b2a681364a0af2f48 - [x] Implemented IScreenManager (Dependency Inversion Principle) 7199e894ea4cc4a8e0efa89b2a681364a0af2f48 - [x] Implemented screen manager function to toggle fullscreen mode (with F11), implemented PlayerAction ToggleFullscreenMode 2cd65afed68081094ed20fbc337d8f3808a94475
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ufr/sopra10#128
No description provided.