Reviews and improves **names** in code — variables, functions, classes, modules, parameters — for clarity, intent, and consistency with language/team conventions. Triggers when asked to review names, rename things, improve code readability, clean up confusing code, or when examining code with generic/vague names like "data", "info", "manager", "temp", "util". Does NOT trigger for general code review unrelated to naming, architecture design, debugging, or performance optimization. Identifies naming anti-patterns (generic names, misleading names, type-encoding, abbreviations), suggests role-based names that reveal intent, checks consistency with project/domain vocabulary, and flags misalignment with language culture.
91
90%
Does it follow best practices?
Impact
94%
1.05xAverage score across 5 eval scenarios
Passed
No known issues
{
"context": "Tests whether the agent applies Rust API naming guidelines for types, methods, conversions, predicates, constants, and public rename compatibility.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Type PascalCase",
"description": "Renames structs and enums to PascalCase.",
"max_score": 10
},
{
"name": "Variants PascalCase",
"description": "Renames enum variants to PascalCase.",
"max_score": 7
},
{
"name": "Constant style",
"description": "Renames the constant to SCREAMING_SNAKE_CASE.",
"max_score": 8
},
{
"name": "Field clarity",
"description": "Replaces generic data/items names with role-appropriate cache entry/value names where clearer.",
"max_score": 7
},
{
"name": "Getter idiom",
"description": "Renames get_data to a Rust-style getter without get_ or to a more specific borrowed-view name.",
"max_score": 10
},
{
"name": "Conversion idiom",
"description": "Renames convert_to_vec according to Rust ownership semantics, such as into_* for consuming or as_* for borrowed views.",
"max_score": 10
},
{
"name": "Predicate prefix",
"description": "Renames check_empty to an is_/has_ predicate name.",
"max_score": 8
},
{
"name": "Verb function",
"description": "Replaces do_thing with a verb phrase that states the operation performed.",
"max_score": 8
},
{
"name": "Constructor nuance",
"description": "Notes whether new(Vec<T>) is acceptable or whether from_* / with_* would better describe an argument-taking constructor.",
"max_score": 7
},
{
"name": "Generic parameter",
"description": "Keeps or uses appropriate Rust generic parameter naming such as T or a descriptive PascalCase type parameter.",
"max_score": 5
},
{
"name": "Public migration",
"description": "Mentions compatibility/deprecation concerns for renaming public Rust APIs.",
"max_score": 10
},
{
"name": "Rationale",
"description": "Explains choices in terms of Rust culture, role, truthfulness, and readability.",
"max_score": 10
}
]
}