Course Outline
Day 1
Introduction
Adopting Good and Standardized Naming Conventions
- Package, file, class, method, and variable names must be meaningful and directly derived from their intended purpose.
- Names should be easily readable.
- Names should be easily searchable.
- Consider the broader namespace context; ensure it is logical and coherent.
Classes, Objects, and Data Structures
- Distinguish between objects, which perform actions, and structures, which simply store data.
- Understand when to use data structures and the rationale behind them.
- Understand when to use objects and the rationale behind them.
- Explore Object-Oriented Design (OOD) and abstraction principles.
- The purpose and utility of getters and setters.
- Prefer many small classes, each containing small, focused methods and functions.
Writing Effective Comments
- Recognize the difference between helpful and detrimental comments.
- Learn how to write high-quality comments and discard the rest.
Day 2
Functions
- Ensure each function does only one thing.
- Keep functions small and concise.
- Evaluate the pros and cons of arguments.
- Identify and avoid unintended side effects.
Error Handling
- Determine when to handle errors locally versus allowing them to propagate.
- If an exception is caught, understand what actions to take and why.
- Utilize custom error handling classes for better control.
Code Formatting: Techniques for Improving Code Layout
Test-Driven Design (TDD): An open discussion on Uncle Bob’s philosophy that software should be developed using TDD.
Requirements
There are no specific prerequisites 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.