Code Documentation
Purpose
Write clear documentation within code using JSDoc, inline comments, and README files.
When to Use
-
Public function documentation
-
Complex logic explanation
-
API documentation
-
Module overviews
Process
-
Document public interfaces
-
Add JSDoc to functions
-
Comment complex logic
-
Create module README
-
Keep docs in sync
StudyAbroad-Specific Considerations
-
Document all service methods
-
Explain business logic
-
Document DTOs
-
API endpoint documentation
Examples
/**
- Submits an application for review.
- @param applicationId - The UUID of the application to submit
- @param userId - The UUID of the user submitting (must be owner)
- @throws {NotFoundException} If application doesn't exist or user doesn't own it
- @throws {BusinessException} If application is incomplete or already submitted
- @returns The updated application with 'submitted' status
- @example
- const submitted = await applicationService.submit('app-123', 'user-456');
- console.log(submitted.status); // 'submitted' */ async submit(applicationId: string, userId: string): Promise<Application> { // Implementation... }