Narrator: So we know that what you learn in this course
will apply no matter which kind of code you'll write.
But of course you might know that there are a lot
of patterns and principles out there.
Some specific for a specific programming language,
some specific for a specific framework,
and some specific to a specific programming paradigm.
How are these patterns and principles then related
to the idea of writing Clean Code?
Should you always follow them all to ensure
that you do write Clean Code?
For this it is important to keep in mind
that Clean Code is code
which is readable and easy to understand.
That is the main thing you have to keep in mind
when writing Clean Code.
Now all these patterns and principles out there
are focused on ensuring that you write code
which is extensible and maintainable.
Of course,
there is a connection.
Of course if you follow these patterns and principles,
that can help with writing Clean Code.
On the other hand,
if you name things poorly,
if you format things poorly,
if you have functions which are super clunky
and messed up and hard to read,
you can follow all these patterns and principles
and you would still not have Clean Code.
So this course really focuses on what makes up Clean Code,
not on all possible patterns and principles you could learn.
Of course there are some which matter a lot
when it comes to writing Clean Code,
and I will therefore cover them in the course,
but some other principles are not as important
from a Clean Code perspective.
And there's one other differentiation I wanna dive in.
And that would be Clean Code versus Clean Architecture.
We can also make a differentiation here.
Just as with the patterns and principles,
of course there is a connection.
But, Clean Code is really about writing guess what?
Clean Code.
It's about the code you write.
Now a Clean Architecture
is about how you structure your project,
how you separate your entities,
how you store your data.
It's in the end,
you could say where to write which code.
Do you use dependency injection or not?
These are questions you ask yourself
when thinking about a Clean Architecture.
And that's a different thing than Clean Code.
and Clean Architecture also depends a lot on
which programming paradigm you're following,
and which programming language you're using.
With Clean Code we focus on single code snippets.
Single files you could say.
With Clean Architecture we focus on the overall project
and how to model our data
and how to distribute our code.
And this course therefore is about Clean Code.
We'll not focus on things like the repository pattern
or anything like that,
because that is not really related to Clean Code.
It doesn't matter where you access
your database for example,
from a Clean Code perspective.
From a Clean Architecture perspective,
that could matter,
and you should therefore then take a dedicated course,
if that is what you're primarily interested in.
This course will focus on Clean Code.