Naming Conventions
This document outlines the naming conventions for our TypeScript codebase, as enforced by gts and our project guidelines.
Files
-
Files Containing a Single Class or Function:
- Class File: If a file contains a single class, the file name should exactly match the class name (using PascalCase).
Example: A file containing theUserService
class should be namedUserService.ts
. - Function File: If a file contains a single function, the file name should exactly match the function name (using camelCase).
Example: A file containing the functiongetUser
should be namedgetUser.ts
.
- Class File: If a file contains a single class, the file name should exactly match the class name (using PascalCase).
-
Other Files:
For files containing multiple classes or functions, use PascalCase with context relavent name.
Example:UtilsHelper.ts
Variables and Functions
- Variables & Function Names:
Use camelCase.
Examples:getUser
,calculateTotal
,userName
Classes
- Class Names:
Use PascalCase.
Example:UserService
Interfaces
- Interface Names:
Prefix interface names with an I and use PascalCase.
Examples:IUser
,IAuthConfig
Enums
- Enum Names:
Use PascalCase for enum names.
Examples:UserRole
- Enum Values:
Use UPPER_SNAKE_CASE for enum values.
Examples:ADMIN
,USER
Generics
- Generic Type Parameters:
Use a single uppercase letter or a descriptive name if necessary.
Examples:T
,K
,V
Additional Guidelines
- Remove Module Name Prefixes:
Do not include module names in file or type names. - Consistency:
Use these conventions consistently across the codebase for clarity and maintainability.
For more details, please refer to the gts documentation and ask in discussions if you have any questions.