Why this matters
A class that doesn't fit on one screen is a class with too many secrets. You cannot hold its entire behavior in your head at once, which means you cannot reason about it, test it, or change it with confidence. The 50-line limit is not arbitrary — it is the forcing function that makes you extract responsibilities before they grow into unmanageable masses. The same logic applies to packages: 10 files per package means each package has a clear, singular purpose that you can describe in one sentence.
Code Challenge
Study the messy code, try to refactor it, then reveal the clean version.
Key takeaway
A class that doesn't fit on one screen is a class that has too many secrets. Break it up until everything is visible — 50 lines per class, 10 files per package forces the discipline that makes code navigable and changeable.