Back to Cal

Code Comment Guidelines

agents/rules/quality-code-comments.md

6.2.01.3 KB
Original Source

Code Comment Guidelines

General Principle

Keep comments limited and avoid obvious ones. Comments should explain "why" not "what" - the code itself should be clear enough to explain what it does.

When to Comment

  • Business decisions or domain logic that isn't obvious from the code
  • Workarounds or hacks with explanation of why they're needed
  • Non-obvious performance optimizations
  • Important security considerations
  • Troubleshooting context (e.g., why a particular approach was chosen after hitting issues)

If none of these apply, skip the comment entirely. The function name, parameters, and return type should speak for themselves.

When NOT to Comment

typescript
// ❌ Bad - Obvious comment
// Get the user
const user = await getUser(userId);

// ❌ Bad - Restating the code
// Loop through bookings
for (const booking of bookings) {
  // Process booking
  processBooking(booking);
}

Good Examples

typescript
// ✅ Good - Explains why, not what
// We need to fetch availability before slots because the timezone
// conversion depends on the user's configured availability rules
const availability = await getAvailability(userId);
const slots = convertToSlots(availability, timezone);

// ✅ Good - Documents a non-obvious constraint
// Google Calendar API has a 2500 event limit per sync request
const BATCH_SIZE = 2500;