Course Outline
Day 1
Introduction
Good and standardized naming
- Names for packages, files, classes, voids, functions, and variables must be meaningful and derived from their purpose.
- Names should be readable.
- Names should be searchable.
- Consider the namespace we are creating; does it make logical 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 relevance.
- It is preferable to have many small classes with many small voids and functions.
Good comments
- There are good and bad comments.
- We need to know how to write effective comments and ignore the rest.
Day 2
Functions
- Perform one task only.
- Keep them small.
- Arguments (good and bad practices).
- Unintended side effects.
Error handling
- When to handle errors and when to let them bubble up.
- If we handle an exception, what should we do with it and why.
- Custom error handling classes.
Code Formatting: How can we improve code formatting?
Test-Driven Design: Open discussion on Uncle Bob's perspective that programs should follow Test-Driven Development (TDD).
Requirements
There are no specific prerequisites for attending 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.