Sample
int-05e522d8b0f4-I12
Inline all eligible single-use intermediate local variables
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0 | 0–1; higher is more readable |
| Scalabrino | 0.697 | 0–1; higher is more readable |
| Dorn | 0.139 | 0–1; higher is more readable |
| Mi | 0.291 | 0–1; higher is more readable |
| LLOC | 28 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 14 | 0–20; mean of three runs |
| GPT-6.1 Sol | 16.67 | 0–20; mean of three runs |
| BTTF | 0.535 | 0–1; higher is more readable |
Views
Loading feature diagnosis…
Source regions
Feature contributions
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones. | 5260.131 | −173.584 |
| Source linesThe number of non-empty source lines. | 178 | +71.2 |
| Byte entropyHow varied the bytes in the source text are. Repeated bytes give a lower value; a more even mixture gives a higher value. | 4.627 | −6.941 |
Intercept 8.87 + feature contributions = -100.455 (log-odds).
Score = sigmoid(-100.455) = 0.
| Score | 0.697 |
|---|
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 178 | −5.266 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 139 | +4.071 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 139 | −2.769 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 177.953 | +2.078 |
| Identifier layout (horizontal)How rapidly the visual pattern of identifier characters changes from left to right. It measures spatial frequency, not the meaning of the names. | 127.966 | −1.755 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 127.235 | +1.248 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.046 | +0.496 |
Intercept 0.07 + feature contributions = -1.827 (log-odds).
Score = sigmoid(-1.827) = 0.139.
| Score | 0.291 |
|---|
| Score | 28 |
|---|
Run 1
The code is generally structured and uses clear naming, but it suffers from readability issues mainly due to constructor chaining, inconsistent formatting, and excessive boilerplate. The class has many overloaded constructors, which is common in builder-like APIs but creates clutter. Several constructors and methods lack Javadocs, and formatting is inconsistent (e.g., mixed indentation, missing spaces after commas). The ‘newChild’ method has weak readability: it uses nullable variables, magic index-based argument handling, and a blank line right after the method signature. The ‘rebuildSelectors’ method is concise and clear. Nesting is low, which is good. Overall, the code reads as maintainable but requires careful attention to understand the constructor hierarchy and argument handling.
Run 2
The code is moderately readable but has significant issues. The class has a clear purpose and follows a consistent structure, but it suffers from excessive constructor overloading (10 constructors), creating redundancy and making the API difficult to navigate. The nesting is generally flat, which is good, but the `newChild` method has confusing array-based argument processing with magic indices that lack clarity. Variable naming is mostly clear, but the constructors lack documentation for several overloads, making intent ambiguous. Code length is unnecessarily long due to repetitive constructor patterns that could be consolidated. Action granularity is reasonable, with one operation per line. The reading flow is logical but interrupted by the verbose constructor chain. The `rebuildSelectors` method has an unnecessary space in the enhanced for loop and a deprecated no-op method adds clutter. Overall, while the code is functional and somewhat organized, the constructor overloads and unclear argument handling in `newChild` significantly reduce readability.
Run 3
The code is highly readable. Structure is logical and follows a clear pattern of escalating constructor overloads that eventually delegate to a single comprehensive constructor. Nesting is minimal, with only a simple loop and two if-blocks. Intent is clear: provide NIO-specific event loop group creation with backward compatibility and deprecation notices. Action granularity is excellent—most constructors perform one operation (delegating via this or super), keeping each line focused. Reading flow is natural, from simple constructors to more complex ones, with Javadoc on key constructors. Minor readability reductions: many overloaded constructors create repetitive code length, and some lines in super() calls wrap awkwardly. Parameter alignment is inconsistent in a few constructors. The deprecation notice and no-op method are clearly explained. Overall, this is a clean, maintainable API even though constructor overloading is extensive.
Run 1
Code Structure: Logically organized into constructors, compatibility methods, and child-loop creation, with consistent delegation. Nesting: Very shallow; only a loop and two independent conditionals. Clarity of intent: Descriptive names and Javadoc explain most behavior, including deprecation and the no-op method. However, positional Object... arguments and casts in newChild obscure the argument contract. Code length: Individual methods are concise, but numerous similar constructor overloads and repetitive documentation increase scanning effort. Action granularity: Statements generally perform one action each; nested factory calls and the long final constructor invocation add minor cognitive load. Reading flow: Progression from simple constructors to configurable overloads is natural, followed by operational methods. Inconsistent parameter indentation, long signatures, uneven documentation coverage, and the abbreviated loop variable slightly reduce readability.
Run 2
Code Structure: Logically organized into constructors, public operations, and child-loop creation; constructor delegation avoids duplicated initialization. Nesting: Very shallow, with only a simple loop and independent conditionals. Clarity of intent: Descriptive class, method, and parameter names plus Javadoc make the purpose clear, although positional Object... arguments and casts in newChild obscure the argument contract. Code length: Individual methods are concise, but numerous similar constructor overloads and repeated documentation make the class lengthy to scan. Action granularity: Statements generally perform one action each; nested factory calls and the final constructor expression slightly increase cognitive load. Reading flow: The progression from simple constructors to advanced configuration and operational methods is natural, though inconsistent parameter indentation, long lines, and uneven documentation reduce polish.
Run 3
Code Structure: Logically organized into constructors, public operations, and child creation, with consistent delegation. Nesting: Very shallow; only a simple loop and independent conditionals. Clarity of intent: Descriptive class, method, and parameter names plus Javadoc make the purpose clear, but positional Object... arguments and casts in newChild obscure parameter meaning. Code length: Individual methods are concise, although numerous constructor overloads and repetitive documentation make the class lengthy. Action granularity: Statements generally perform one action each; nested factory calls in constructor delegation slightly increase cognitive load. Reading flow: Progression from simple constructors to advanced configuration and operational methods is natural. Inconsistent parameter indentation, long lines, and uneven documentation modestly disrupt scanning.