Review this EK9 class for naming quality. Are the names descriptive enough?
← Code Quality · Ref: Q1046
Review findings:
GOOD NAMING:
- Class name 'OrderProcessor' describes what it does
- Method 'calculateTotal' clearly states its purpose
- Field 'customerName' is descriptive
COULD BE IMPROVED:
- 'items' is acceptable but 'orderItems' would be more specific in this context
- 'process()' is vague — what does processing mean? Consider 'validateAndSubmit()' or 'fulfil()'
- Parameter 'disc' should be 'discountPercentage' — abbreviations lose meaning over time
EK9 NAMING PRINCIPLES:
- Types use PascalCase, variables use camelCase
- Names should describe purpose, not type (orderCount not intCount)
- The compiler bans generic names like temp, data, flag, value
- Methods should describe the action: calculateTotal not doCalc
Example
defines module qa.codequality.reviewnaming defines class OrderProcessor customerName as String: String() orderItems as List of Float: List() of Float OrderProcessor() -> customerName as String orderItems as List of Float this.customerName :=: customerName this.orderItems :=: orderItems calculateTotal() as pure <- rtn as Float: 0.0 for orderItem in orderItems rtn := rtn + orderItem default operator defines program ReviewNamingDemo() stdout <- Stdout() orders <- [29.99, 15.50, 42.00] processor <- OrderProcessor("Alice", orders) stdout.println(`Total: ${processor.calculateTotal()}`)
Common mistakes
E11031 — EK9 bans non-descriptive variable names like 'data' at compile time — use a name that describes what the value represents. See ek9 -h E11031 for details.
Incorrect:
data <- [29.99, 15.50, 42.00] processor <- OrderProcessor("Alice", data)
Correct:
orders <- [29.99, 15.50, 42.00] processor <- OrderProcessor("Alice", orders)
Other ways to ask this
- Assess the naming in this EK9 code
- Is this class well-named by EK9 standards?
- What naming improvements would you suggest for this code?
Coming from another language?
EK9 enforces naming quality at compile time. Generic names cause compile errors, not just style warnings.
Keywords: quality, review, assess, naming, descriptive