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 generating; does it make sense?
Classes, objects, and data structures
-There is a distinction between objects that perform actions and structures that simply hold data.
-When to use data structures, and why.
-When to use objects, and why.
-OOD and abstraction.
-Getters/setters and their purpose.
-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 disregard the rest.
Day 2
Functions
-Perform one thing only.
-Keep them small.
-Arguments (good and bad).
-Unintended side effects.
Error handling
-When to handle errors versus when to let them bubble up.
-If we handle an exception, what do we do with it and why.
-Custom error handling classes.
Code Formatting: How can we better format the code.
Test-Driven Design: Open discussion of Uncle Bob's idea that programs should be 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.