See more
Good Design Tries To Please Everyone, Great Design Is Opinionated And Challenges Conventions
Good authors divide their books into chapters and sections; good programmers divide their programs into modules.