Avoid Boolean Parameters

✅ One-liner Summary

Avoid boolean parameters in methods — split into dedicated methods to eliminate if-else complexity and separate concerns.

💡 Short Explanation

Boolean parameters like Document.SetVisibility(bool isVisible) force methods to contain if-else logic, handling multiple responsibilities.
This creates complexity and violates single responsibility. Instead, use dedicated methods like Document.Show() and Document.Hide() where each method has one clear purpose.

🚫 Bad Example

public class Document
{
    public bool IsVisible { get; private set; }

    public void SetVisibility(bool isVisible)
    {
        IsVisible = isVisible;

        if (isVisible)
        {
            // Visible Code
        }
        else
        {
            // Not Visible Code
        }
    }
}

✅ Good Example

Use dedicated methods to make intent explicit and seperate concerns:

public class Document
{
    public bool IsVisible { get; private set; }

    public void Show()
    {
        IsVisible = true;
        // Visible Code
    }
    
    public void Hide()
    {
        IsVisible = false;
        // Not Visible Code
    }
}

🧠 Key Takeaways

  • Boolean parameters create unnecessary if-else complexity within methods
  • Separate methods like Show() and Hide() have single, focused responsibilities
  • Each method contains only the code relevant to its specific purpose
  • Code becomes more readable, testable, and maintainable
  • Method names clearly communicate intent without needing to check implementations