Und wenn du den Dingen Namen gibst und die dann auch gleich im Code
entsprechend einbaust, dann wirst du feststellen, dass der Code immer
mehr selbsterklärend wird, du also zum großen Teil auf Kommentare sogar
verzichten kannst, weil alles wissenswerte im Code selber steht. Was
dann noch bleibt und was so nicht direkt im Code ablesbar ist, das
schreibt man als Blockkommentar vor den nächsten Codeabschnitt.
C-Programme bei denen jede Zeile einen Kommentar trägt, bei denen sind
meistens 90% alles Kommentare sinnlose Kommentare. Schreibarbeit für
nichts und wieder nichts, weil das was im Kommentar steht sowieso schon
im Code steht. ... Sofern der Kommentar bei Codeänderungen immer brav
nachgezogen wurde und nicht sowieso einfach nur falsch ist.
Anstelle von
1 | if( PINB & ( 1 << 6 ) ) // ist die Taste '+' gedrückt
|
kann man auch schreiben
1 | #define KEY_PIN PINB
|
2 | #define KEY_PLUS PB6
|
3 |
|
4 | .....
|
5 |
|
6 |
|
7 |
|
8 | if( KEY_PIN & ( 1 << KEY_PLUS ) )
|
und dann steht plötzlich das, was vorher im Kommentar stand mitten im
Code, für alle lesbar und ohne das man sich merken muss (oder davon
abhängig ist, dass der Kommentar stimmt), dass die '+' Taste am Pin 6
vom Port B hängt.
Und wenn man dann auch noch macht
1 | #define KEY_PIN PINB
|
2 | #define KEY_PLUS PB6
|
3 |
|
4 | #define KEY_PRESSED(x) (KEY_PIN & ( 1 << (x) ))
|
5 |
|
6 | .....
|
7 |
|
8 |
|
9 |
|
10 | if( KEY_PRESSED( KEY_PLUS ) )
|
was jetzt den Code gleich in eine ganz andere Liege der
Selbstkommentierung hievt. Denkt man sich an dieser Stelle beim if noch
ein paar Füllwörter dazu, dann steht da mehr oder weniger im Klartext
... "Wenn die Taste '+' gedrückt ist". Und weil es da mehr oder weniger
genau so im Klartext steht, liest der geneigte Leser auch tatsächlich
das, was auch wirklich im Code passiert und versteht auch leicht, was da
im Code passiert. Das erklärt ihm zwar noch nicht in allen Einzelheiten
das WARUM (warum ausgerechnet hier die '+' Taste interessant ist), aber
bei einfachen Programmen ist das dann aus dem Zusammenhang heraus nicht
mehr so schwer zu verstehen.