Clean Code Training Course
Why do we need Clean Code? Programs evolve, therefore the code is continuously updated it can be very, very difficult to go back through unclean code to find and update the source code on average, the cost of writing the original code is only 40% of the total cost of a system; 60% of the cost, on average, is spent maintaining and updating code. Bad code dramatically increases that 40/60 ratio, bordering on 20/80 in the worst cases; the more unclean the code is, the more time we just spend updating it.
This course is available as onsite live training in France or online live training.Course Outline
Day 1
Introduction
Good and standardized naming
-names of packages, files, classes, voids and functions as well as variables need to have meaningful names derived from their purpose
-should be readable
-should be searchable
-consider the namespace we're generating; does it make sense?
Classes, objects and data structures
-there's a difference between objects that do something and structures that simply contain data
-when to use data structures, and why
-when to use objects, and why
-OOD and abastraction
-getters/setters and why
-better 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 generate good comments and forget about the rest
Day 2
Functions
-one thing only
-small
-arguments (good and bad)
-unintended side effects
Error handling
-when to handle errors, 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 requirements needed to attend this course.
Open Training Courses require 5+ participants.
Clean Code Training Course - Booking
Clean Code Training Course - Enquiry
Clean Code - Consultancy Enquiry
Consultancy Enquiry
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.
Daniel Bubla
Course - Clean Code
Upcoming Courses
Related Courses
AdaBoost Python for Machine Learning
14 HoursThis instructor-led, live training in France (online or onsite) is aimed at data scientists and software engineers who wish to use AdaBoost to build boosting algorithms for machine learning with Python.
By the end of this training, participants will be able to:
- Set up the necessary development environment to start building machine learning models with AdaBoost.
- Understand the ensemble learning approach and how to implement adaptive boosting.
- Learn how to build AdaBoost models to boost machine learning algorithms in Python.
- Use hyperparameter tuning to increase the accuracy and performance of AdaBoost models.
Test Driven Development
21 HoursThis instructor-led, live training in France (online or onsite) is aimed at intermediate-level software developers and QA engineers who wish to adopt and master TDD principles and practices to improve code quality and development efficiency.
By the end of this training, participants will be able to:
- Understand the principles and workflow of Test-Driven Development (TDD).
- Write effective and maintainable unit tests.
- Utilize mocking frameworks to create comprehensive test scenarios.
- Apply TDD as a design tool to create robust and flexible code.
Scaling Data Analysis with Python and Dask
14 HoursThis instructor-led, live training in France (online or onsite) is aimed at data scientists and software engineers who wish to use Dask with the Python ecosystem to build, scale, and analyze large datasets.
By the end of this training, participants will be able to:
- Set up the environment to start building big data processing with Dask and Python.
- Explore the features, libraries, tools, and APIs available in Dask.
- Understand how Dask accelerates parallel computing in Python.
- Learn how to scale the Python ecosystem (Numpy, SciPy, and Pandas) using Dask.
- Optimize the Dask environment to maintain high performance in handling large datasets.
Data Analysis with Python, Pandas and Numpy
14 HoursThis instructor-led, live training in France (online or onsite) is aimed at intermediate-level Python developers and data analysts who wish to enhance their skills in data analysis and manipulation using Pandas and NumPy.
By the end of this training, participants will be able to:
- Set up a development environment that includes Python, Pandas, and NumPy.
- Create a data analysis application using Pandas and NumPy.
- Perform advanced data wrangling, sorting, and filtering operations.
- Conduct aggregate operations and analyze time series data.
- Visualize data using Matplotlib and other visualization libraries.
- Debug and optimize their data analysis code.
FARM (FastAPI, React, and MongoDB) Full Stack Development
14 HoursThis instructor-led, live training in (online or onsite) is aimed at developers who wish to use the FARM (FastAPI, React, and MongoDB) stack to build dynamic, high-performance, and scalable web applications.
By the end of this training, participants will be able to:
- Set up the necessary development environment that integrates FastAPI, React, and MongoDB.
- Understand the key concepts, features, and benefits of the FARM stack.
- Learn how to build REST APIs with FastAPI.
- Learn how to design interactive applications with React.
- Develop, test, and deploy applications (front end and back end) using the FARM stack.
Developing APIs with Python and FastAPI
14 HoursThis instructor-led, live training in France (online or onsite) is aimed at developers who wish to use FastAPI with Python to build, test, and deploy RESTful APIs easier and faster.
By the end of this training, participants will be able to:
- Set up the necessary development environment to develop APIs with Python and FastAPI.
- Create APIs quicker and easier using the FastAPI library.
- Learn how to create data models and schemas based on Pydantic and OpenAPI.
- Connect APIs to a database using SQLAlchemy.
- Implement security and authentication in APIs using the FastAPI tools.
- Build container images and deploy web APIs to a cloud server.
Laravel PHP Framework
14 HoursThis instructor-led, live training in France introduces the fundamentals of Laravel and walks participants through the creation of a Laravel-based web application.
Laravel Livewire
7 HoursThis instructor-led, live training in France (online or onsite) is aimed at developers who wish to learn and use Livewire to build modern and dynamic application interfaces.
By the end of this training, participants will be able to:
- Build and test livewire components.
- Build applications using the Livewire library.
- Create dynamic components within PHP.
Laravel and Vue.js
14 HoursThis instructor-led, live training in France (online or onsite) is aimed at web developers who wish to use Laravel and Vue JS for fullstack web development.
By the end of this training, participants will be able to:
- Develop web applications with Laravel and Vue JS.
- Integrate the Laravel backend API into Vue JS.
- Deploy a Laravel application.
Accelerating Python Pandas Workflows with Modin
14 HoursThis instructor-led, live training in France (online or onsite) is aimed at data scientists and developers who wish to use Modin to build and implement parallel computations with Pandas for faster data analysis.
By the end of this training, participants will be able to:
- Set up the necessary environment to start developing Pandas workflows at scale with Modin.
- Understand the features, architecture, and advantages of Modin.
- Know the differences between Modin, Dask, and Ray.
- Perform Pandas operations faster with Modin.
- Implement the entire Pandas API and functions.
Next.js 14 Advanced Development
21 HoursThis instructor-led, live training in France (online or onsite) is aimed at intermediate-level to advanced-level web developers and technical architects who wish to explore the advancements of Next.js 14 and gain the knowledge to build cutting-edge web applications.
By the end of this training, participants will be able to:
- Leverage the full potential of Next.js 14 for building complex applications.
- Utilize the latest features such as Middleware, React Server Components, and Edge Functions.
- Implement best practices for performance, scalability, and SEO.
- Troubleshoot common issues in Next.js applications effectively.
Next.js 14 - Advanced
21 HoursThis instructor-led, live training in France (online or onsite) is aimed at advanced-level developers who wish to master the latest features in Next.js 14, optimize performance, and implement modern React techniques.
By the end of this training, participants will be able to:
- Implement advanced React hooks and concurrent features.
- Understand and utilize Next.js routing strategies effectively.
- Leverage Server Components, Server Actions, and hybrid rendering approaches.
- Optimize data fetching, caching, and incremental static regeneration.
- Use Next.js as a backend solution with Edge Functions and Edge Runtime.
- Manage state using React Context, Redux, and atomic state libraries.
- Optimize application performance for Web Core Vitals.
- Test, monitor, and deploy Next.js applications efficiently.
Unit Testing with PHPUnit
14 HoursThis instructor-led, live training in France teaches participants how to write testable code in the form of testing units to facilitate the diagnosis, isolation, and resolution of bugs. The training walks participants through the creation of a work-ready, testing environment using the PHPUnit testing framework.
By the end of this training, participants will be able to:
- Distinguish between good and bad testing units.
- Read and interpret test results.
- Proactively manage and diagnose their code base to reduce bugs.
- Ensure that their code base is fit for continuous integration and deployment.
React with Next.js
14 HoursThis instructor-led, live training in France (online or onsite) is aimed at web developers who wish to use Next.js to create React applications.
By the end of this training, participants will be able to:
- Develop server-side web applications and static sites in Next.js.
- Handle and store data with MongoDB.
- Secure a web application with AuthO authentication.
Laravel: Middleware Development
14 HoursThis instructor-led, live training in (online or onsite) is aimed at web developers who wish to build middleware and web services in Laravel.
By the end of this training, participants will be able to:
- Use Laravel PHP Aritisan to generate code and components.
- Build RESTful APIs in Laravel that can browse, read, edit, add, and delete.
- Filter and sort results based on URL parameters using RESTful APIs.