Course Outline
Day 1
Introduction
Effective and Standardized Naming
- Package, file, class, and function names, as well as variables, must use meaningful names derived from their purpose.
- Names should be easily readable.
- Names should be easily searchable.
- Consider the namespace being created; does it make logical sense?
Classes, Objects, and Data Structures
- Distinguish between objects that perform actions and structures that simply hold data.
- Understand when and why to use data structures.
- Understand when and why to use objects.
- Object-Oriented Design (OOD) and abstraction.
- The purpose of getters and setters.
- It is better to have many small classes with numerous small methods and functions.
Effective Comments
- There are good comments and bad comments.
- We must learn how to write good comments and eliminate the rest.
Day 2
Functions
- Each function should do one thing only.
- Keep functions small.
- Arguments (good practices vs. anti-patterns).
- Avoiding unintended side effects.
Error Handling
- Deciding when to handle errors locally versus letting them propagate up the stack.
- If an exception is handled, what actions should be taken and why.
- Custom error handling classes.
Code Formatting: Techniques for better code presentation
Test-Driven Design: An open discussion on Uncle Bob's philosophy that programs should be developed using Test-Driven Development (TDD).
Requirements
This course has no specific prerequisites.
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.