Application-level code smells are problem code scattered through the application and affect every layer. No matter what layer of the software you find yourself in, you will see the same problematic code appearing over and over again. If you don't address these issues now, then you will find that your software will start to die a slow and agonizing death.
In this section, we will look at the application-level code smells and how we can remove them. Let's start with Boolean blindness.
Boolean blindness
Boolean data blindness refers to the information loss as determined by functions that work on Boolean values. Using a better structure provides better interfaces and classes that keep data, making for a more pleasant experience in working with data.
Let's look at the problem of Boolean blindness via this code sample:
public void BookConcert(string concert, bool standing)
{
if (standing)
{
...