Choose descriptive, specific names that clearly communicate intent and behavior rather than generic or ambiguous alternatives. Names should be self-documenting and reduce the need for additional context or comments.

Key principles:

Example:

# Avoid generic/ambiguous names
scope :account, -> { where(category: 'account') }
def can_forward?

# Use descriptive, specific names  
scope :category_account, -> { where(category: 'account') }
def forwardable?

This approach improves code readability, reduces cognitive load, and makes the codebase more maintainable by ensuring names accurately reflect their purpose and behavior.