Course Outline
Day 1
Introduction
Effective and Standardized Naming
-Names for packages, files, classes, variables, and functions should be meaningful and derived from their intended purpose.
-Names must be readable.
-Names should be easily searchable.
-Consider the namespace being created; does it make logical sense?
Classes, Objects, and Data Structures
-There is a clear distinction between objects designed to perform actions and data structures that simply hold data.
-Understanding when to use data structures and why.
-Understanding when to use objects and why.
-Object-Oriented Design (OOD) and abstraction.
-The purpose of getters and setters.
-It is preferable to have many small classes, each containing numerous small methods and functions.
Effective Comments
-There is a distinction between good and bad comments.
-We must learn how to write effective comments and disregard the rest.
Day 2
Functions
-Each function should handle one task only.
-Functions should be small.
-Parameters (good vs. bad).
-Avoiding unintended side effects.
Error Handling
-Knowing when to handle errors versus allowing them to propagate.
-If an exception is handled, understanding what actions to take and why.
-Custom error handling classes.
Code Formatting: How to improve code formatting.
Test-Driven Design: An open discussion of Uncle Bob's concept that programs should adhere to 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.