Test-driven development is a concept of writing application code after writing tests. It requires from a developer to first define what is the expected outcome before starting the implementation.
How logging can simplify complex problems
23 guidelines for writing readable code
Event-driven programming
Bitmask - why, how and when
Entity Component System