More precise than “do one thing”

SRP is not a command to put every line in a separate function. It asks whether unrelated change pressures have been coupled. A graph index and a visual card layout evolve for different reasons; separating them makes those changes easier to reason about.

In AI-generated code

Ask which requirement or actor would cause each module to change. Keep graph validation separate from rendering and deployment policy separate from content. Then verify that the separation removes coupling rather than merely multiplying files.

Source

Robert C. Martin on SRP