Class NonDescriptiveNameOrError
java.lang.Object
org.ek9lang.compiler.phase5.NonDescriptiveNameOrError
- All Implemented Interfaces:
Consumer<org.antlr.v4.runtime.tree.ParseTree>
final class NonDescriptiveNameOrError
extends Object
implements Consumer<org.antlr.v4.runtime.tree.ParseTree>
Detects non-descriptive variable names (E11031).
Bans generic names like 'temp', 'flag', 'data' that correlate with higher defect rates based on academic research:
- Lawrie et al. (2006): 19-31% increased comprehension time
- Butler et al. (2010): 2.7x higher defect density
- Hofmeister et al. (2017): 3.2x more bug reports
Exemptions:
- Single-character names - Used for generic types (T, K, V), math variables (x, y, z), loop counters (i, j, k)
Academic evidence shows generic names like 'temp', 'flag', 'data' were involved in: Mars Climate Orbiter ($125M), Therac-25 (6 deaths), Toyota (89 deaths), Ariane 5 ($370M).
-
Constructor Summary
ConstructorsConstructorDescriptionNonDescriptiveNameOrError(SymbolsAndScopes symbolsAndScopes, ErrorListener errorListener) -
Method Summary
-
Constructor Details
-
NonDescriptiveNameOrError
NonDescriptiveNameOrError(SymbolsAndScopes symbolsAndScopes, ErrorListener errorListener)
-
-
Method Details
-
accept
-