Awesome Reviewers

Choose names that clearly convey purpose and intent rather than generic or ambiguous terms. Names should be specific enough to understand functionality without requiring additional context.

Avoid generic names:

Use semantically meaningful names:

Choose appropriate specificity:

Example:

# Avoid generic names
class Executor:  # Too generic
    pass

# Use descriptive names  
class ConcurrentToolExecutor:  # Clear purpose and scope
    def serialize_state(self) -> dict:  # Clear action
        pass
    
    def get_next_nodes(self) -> list[str]:  # Clear return type
        pass

This approach improves code readability and reduces the need for additional documentation to understand component purposes.