Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# Praktikumsvorbereitung
## a)
Don't repeat yourself (DRY)
Der gleiche Code sollte nicht an mehreren Stellen wiederholt werden.
## b)
Der gleiche Code muss bei Änderungen an mehreren Stellen angepasst werden.
Das kann leicht vergessen werden.
Außerdem ist die richtige Stelle im Code bei Duplikation schwerer zu finden.
## c)
Das `cout` in eine Funktion auslagern, die `name`, `fuellmenge` und `einheit`
konsumiert.
## d)
Refactoring
## e)
Replace Magic Literal
## f)
1. Zunächst einen Namen für das was die Zahl repräsentiert
auswählen, z.B. `MAX_SLOTS`.
2. Dann entweder als Member der jeweiligen Vorratsverwalter Instanz
oder statisch auf der Klasse einfügen.
3. Den Wert 8 übernehmen
4. Den Integer 8 im gegebenen Code durch eine Referenz auf das Magic
Literal ersetzen
## g)
Der Variablennamen erstellt einen semantischen Zusammenhang zwischen
dem Wert und dem Ort wo er eingesetzt wird, was den Code leichter
verständlich macht.
Würde bspw. an mehreren Stellen die 8 in unterschiedlichen Kontexten
verwendet, so würde dies den Code schwerer verständlich
machen und möglicherweise zu Verwirrung führen.
Außerdem kann der Wert nun an mehreren Stellen referenziert und zentral
aktualisiert werden. Hiermit wird auch vor Duplikaten geschützt, die
die Wartung erschweren würden.