The concept of bad smells. What are bad smells? Well, we
mentioned earlier that refactoring is typically applied when there is something
that does not look right, does not feel right in the
code. And that's exactly what bad smells are. Bad smells, or
code smells if you wish, are symptoms in the code of
a program that might indicate deeper problems. So there might be
parts of my system, classes in my systems, that just don't
smell right, and it feels like there's, there might be something wrong
with them. And if you are an experienced developer just like Brad,
you'll be able to figure out there is something wrong with the
classes. You'll be able to smell that there's something wrong and you'll
do something about it. And I want to mention one more, just to make
sure that we're all on the same page here. That these bad
smells are usually not bugs and don't prevent the program from functioning. They
however indicate weaknesses in the design of the system that might cause
problems during maintenance. In other words,
they might make the code less maintainable,
harder to understand, and so on. Just like refactorings,
there's also many possible different bad smells. So what
I'm providing here is just a possible list of
some very common bad smells. And you can find plenty
of information on this online. So what I want
to do next is just to cover before finishing the
lesson a few of those to show you some
examples of smells and what you can do about them.