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