Objectives
Philosophy
Each navigation must have one clear role, solve one real problem, and stay useful on its own.
Each navigation must have a clear user, scope, content boundary, and long-term reason to exist.
Each navigation must connect well with other navigations while keeping a justified difference when overlap happens.
Each navigation must stay clear in identity, limited in scope, and strict in what content belongs.
Strong Defaults
- Each navigation should have a recognizable learning or usage style.
- Each navigation should use stable naming rules and reusable structure.
- Each navigation should include good examples, strong references, beginner entry paths, and fast review paths.
- Each navigation should scale later without breaking its current structure or confusing its role.
- Each navigation should strengthen other navigations when overlap gives users clearer value.
Optional Freedom
- Navigations may reuse shared content, references, examples, and tools when that improves clarity.
- Navigations may redirect users to another navigation when that navigation fits the job better.
- Navigations may include extra tools, visuals, templates, experiments, or local special-purpose pages.
- Navigations may mirror content when repetition clearly improves navigation.
Checklist
- Define each navigation so it is easy to explain in one sentence.
- Define each navigation so it is hard to confuse with another navigation.
- Define each navigation so it is useful by itself and stronger with others.
- Define each navigation so it stays readable, inspectable, and maintainable after growth.
- Find what existing projects in each area usually do well.
- Find what they usually miss, break, or fail to connect.
- Turn those lessons into design rules for
cp4cpp.com. - Prefer official pages, project repositories, documentation, and first-hand project pages.
Boundary Rules
| Navigation | Canonical Job | Must Not Become |
|---|---|---|
cpp | C++ reference filtered for contests | A full general C++ course |
doc | Stable topic handbook | A linear beginner curriculum |
edu | Ordered learning path | A duplicate of every handbook page |
fun | Niche tricks and templates | A noisy pile of one-liners |
gen | Test generation workflow | A heavy testcase archive |
sim | Interactive inspection | A static screenshot gallery |
tag | Topic relations and analytics | A vague tag dump |
yps | Personal study system | A generic notes app |