Choose descriptive names that clearly convey purpose while avoiding conflicts with existing APIs, built-in functions, or established conventions. Names should follow consistent patterns across the codebase and use appropriate spelling conventions.
Choose descriptive names that clearly convey purpose while avoiding conflicts with existing APIs, built-in functions, or established conventions. Names should follow consistent patterns across the codebase and use appropriate spelling conventions.
Key principles:
dehydratedRouter
instead of r
)fetchAndResolveInLoaderLifetime
instead of fetch
)getSupabaseServer
instead of useSupabase
for non-hooks)disableManifestGeneration
to match disableTypes
)behavior
not behaviour
)derived
instead of paths
)Example:
// ❌ Avoid: Abbreviated, conflicts with built-in
const r = getRouter()
const fetch = async () => { ... }
// ✅ Good: Descriptive, conflict-free
const dehydratedRouter = getRouter()
const fetchAndResolveInLoaderLifetime = async () => { ... }
// ❌ Avoid: Misleading naming pattern
export function useSupabase() { /* not a hook */ }
// ✅ Good: Clear, follows conventions
export function getSupabaseServer() { /* server utility */ }
Enter the URL of a public GitHub repository