Course Outline
Day 1
Introduction
Adopting standardized and meaningful naming conventions
-Package, file, class, method, and variable names must clearly reflect their purpose
-Names should be easily readable
-Names should be easily searchable
-Consider the resulting namespace; ensure it makes logical sense
Classes, objects, and data structures
-Distinguish between objects that perform actions and structures that merely hold data
-Understand when and why to use data structures
-Understand when and why to use objects
-Object-Oriented Design (OOD) and abstraction principles
-The role and rationale of getters/setters
-Preference for many small classes, each containing small methods and functions
Effective commenting
-Distinguish between effective and ineffective comments
-Learn to write high-value comments while ignoring unnecessary ones
Day 2
Functions
-Focus on doing one thing only
-Keep functions small
-Parameter management: identifying good versus bad practices
-Avoiding unintended side effects
Error handling
-Determining when to handle errors locally versus allowing them to propagate
-If an exception is handled, understand the actions taken and the reasoning behind them
-Implementing custom error handling classes
Code formatting: strategies for improving code layout and readability
Test-Driven Design: Open discussion on Uncle Bob's philosophy advocating for Test-Driven Development (TDD) in programming
Requirements
No specific prerequisites are required to participate in 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.