Variable, method, and type names should accurately reflect their actual purpose, content, and behavior. Avoid generic or misleading names that don’t match the underlying functionality.

Key principles:

Example:

// Bad - misleading name
let cached_hit_test_result = match event.event { ... }

// Good - accurate name  
let hit_test_result = match event.event { ... }

// Bad - singular for collection
visible_input_method: Vec<EmbedderControlId>,

// Good - plural for collection
visible_input_methods: Vec<EmbedderControlId>,

Names should immediately communicate what the code actually does, not what it might do or what it was originally intended to do.