Course Outline
Day 1
Introduction
Good and standardised naming
-Names for packages, files, classes, voids, functions, and variables must be meaningful and derived from their purpose.
-They should be readable.
-They should be easily searchable.
-Consider the namespace you are generating; does it make sense?
Classes, objects and data structures
-There is a distinction between objects that perform actions and structures that merely hold data.
-When to use data structures, and why?
-When to use objects, and why?
-Object-Oriented Design (OOD) and abstraction
-Getters/setters and their purpose
-Prefer many small classes with many small voids and functions
Effective commenting
-There are both good and bad comments.
-We need to learn how to write good comments and disregard the rest.
Day 2
Functions
-Do one thing only.
-Keep them small.
-Arguments (good and bad).
-Unintended side effects.
Error handling
-When to handle errors versus letting them bubble up.
-If we catch an exception, what should we do with it, and why?
-Custom error handling classes.
Code formatting: how to format code more effectively.
Test-Driven Design: Open discussion on Uncle Bob's principle that programs should be developed using TDD.
Requirements
No specific prerequisites are required to attend this course.
Testimonials (2)
The teacher addressed many relevant topics for clean coding with practical examples.
Ben van Oeveren - Movella
Course - Clean Code
I really liked that there were a lot of practical exercises in which you could put the learned immediately into action.