What you'll learn
- Learn how to write code which is readable and understandable
- Keep code alive by increasing maintainability with clean code
- Learn about key principles, rules and concepts that allow you to write clean code
- Learn with hands-on examples and "bad to good code" transformations
- Basic programming knowledge (no matter which language) is required
- NO prior experience on the topic of clean code is required
- You DON'T need to know a specific programming language or paradigm
As a developer, you should be able to write code which works - of course!
Unfortunately, a lot of developers write bad code nonetheless - even though the code works. Because "working code" is not the same as "clean code"!
This course teaches you how to write clean code - code which is easy to read and understand by humans, not just computers!
In this course, you'll learn what exactly clean code is and, more importantly, how you can write clean code. Because if your code is written in a clean way, it's easier to read and understand and therefore easier to maintain.
Because it's NOT just the computer who needs to understand your code - your colleagues and your future self needs to be able to understand it as well!
In this course, we'll dive into all the main "pain points" related to clean code (or bad code - depending on how you look at it) and you will not just learn what makes up bad code but of course also how to turn it into clean code.
Specifically, you will learn about:
Naming "things" (variables, properties, classes, functions, ...) properly and in a clean way
Common pitfalls and mistakes you should avoid when naming things
Comments and that most of them are bad
Good comments you might consider adding to your code
Code formatting - both horizontal and vertical formatting
Functions and how to limit the number of function parameters
How to write clean functions by focusing on "one thing"
How levels of abstraction help you split functions and keep them small
How to write DRY functions and avoid unexpected side effects
Avoiding deeply nested control structures with guards and by extracting functionality into functions
Errors and error handling as a replacement for if-statements
Objects & data containers/ data structures and why that differentiation could matter
Cohesion and how to write good (small!) classes
The Law of Demeter and why it matters for clean code
What the SOLID principles are and why they matter when it comes to writing clean code
This course is a compilation of common patterns, best practices, principles and rules related to writing clean code.
In this course, you'll learn about a broad variety of concepts, rules, ideas, thoughts and principles and by the end of course, you'll have a good idea of what to keep in mind when it comes to writing clean code.
This is not a design patterns or general patterns course though - we will entirely focus on patterns, rules and concepts that help with writing clean code specifically.
All these concepts and rules are backed up by examples, code snippets and demos. And to ensure that you get the most out of this course, and you don't just learn a bunch of theory which you forget soon after, there also are plenty of challenges for you to apply what you learned!
What are the course prerequisites?
Basic programming knowledge (no matter which language) is required!
You don't need to know any specific programming language or programming paradigm to follow along
NO prior experience with writing clean code is required
Who this course is for:
- Developers who want to ensure that their code does not just work but it also easy to read, understand and maintain
- Everyone who's serious about development and writing real-life code
Bundling the courses and know how of successful instructors, Academind strives to deliver high quality online education.
Online Education, Real-Life Success - that's what Academind stands for. Learn topics like web development, data analyses and more in a fun and engaging way.
Currently, you can find courses published by Maximilian Schwarzmüller and Manuel Lorenz, more instructors to come!
Experience as (Web) Developer
Starting out at the age of 12 I never stopped learning new programming skills and languages. Early I started creating websites for friends and just for fun as well. Besides web development I also explored Python and other non-web-only languages. This passion has since lasted and lead to my decision of working as a freelance web developer and consultant. The success and fun I have in this job is immense and really keeps that passion burningly alive.
Starting web development on the backend (PHP with Laravel, NodeJS, Python) I also became more and more of a frontend developer using modern frameworks like React, Angular or VueJS in a lot of projects. I love both worlds nowadays!
As a self-taught developer I had the chance to broaden my horizon by studying Business Administration where I hold a Master's degree. That enabled me to work in a major strategy consultancy as well as a bank. While learning, that I enjoy development more than these fields, the time in this sector greatly improved my overall experience and skills.
Experience as Instructor
As a self-taught professional I really know the hard parts and the difficult topics when learning new or improving on already-known languages. This background and experience enables me to focus on the most relevant key concepts and topics. My track record of many 5-star rated courses and more than 1,500,000 students on Udemy is the best proof for that.
Whether working as development instructor or teaching Business Administration I always received great feedback. The most rewarding experience is to see how people find new, better jobs, build awesome web applications, acquire amazing projects or simply enjoy their hobby with the help of my content.
Together with Manuel Lorenz, I founded Academind to offer the best possible learning experience to our more than 1,500,000 students.