Sanity and Readabilty#
Shooting Offense: Unobvious Solution#

Shooting Offense: Unobvious Problem#

Shooting Offenses#
We are all mature programmers, and we all know that some oddities are best rectified by firing the programmer
Unexpected side effects
Wrong documentation (none is far better)
Nested loops to a depth of 10
With loop variables taken from somewhere in the middle of the alphabet (Fortran?)
Obvious lazyness
Obvious lack of respect for colleagues
Ambiguity#
Ambiguity is the root of all evil. Imagine …
You have to take over maintenance of a large piece of code
⟶ you have to understand it
You cannot guess from its name what a function does
Same with variables
Same with parameters
Return values have no obvious meaning
There are comments all over, obviously meant to overcome those shortcomings
Comments are mostly out-of-sync with the code
⟶ This will drive you mad!
(… especially if it’s your own code)*
Readability#
Simple recipe for writing good code: you are able to understand what you did, even after three weeks of holiday/beer
Chances are others will understand the code too
Requires some discipline
⟶ Handcraft?
Code Smells#
Code smells for the following reasons
Comments that explain how the code works
Long parameter lists
Long nested
if
/else
chainsHungarian notation
… and many more
We won’t elaborate on that - this is not a programming course
Following a series of easy techniques to make C code readable/correct
Good reading: here