Sample
int-3b676f65e6c3-I13
Lower every eligible classic and enhanced for loop to a while loop
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0 | 0–1; higher is more readable |
| Scalabrino | 0.692 | 0–1; higher is more readable |
| Dorn | 0.752 | 0–1; higher is more readable |
| Mi | 0.705 | 0–1; higher is more readable |
| LLOC | 53 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 18 | 0–20; mean of three runs |
| GPT-6.1 Sol | 19 | 0–20; mean of three runs |
| BTTF | 0.601 | 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. | 3874.457 | −127.857 |
| Source linesThe number of non-empty source lines. | 146 | +58.4 |
| 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.667 | −7.001 |
Intercept 8.87 + feature contributions = -67.588 (log-odds).
Score = sigmoid(-67.588) = 0.
| Score | 0.692 |
|---|
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. | 147 | −4.168 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 113 | +3.171 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 145.554 | +1.625 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 99.946 | +0.808 |
| 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. | 99.966 | −0.569 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 1 | +0.398 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.12 | −0.224 |
Intercept 0.07 + feature contributions = 1.111 (log-odds).
Score = sigmoid(1.111) = 0.752.
| Score | 0.705 |
|---|
| Score | 53 |
|---|
Run 1
The code is highly readable. It follows a consistent, repetitive delegation pattern with a clear structural organization: each method is short, has one clear action per line, and simply forwards to a delegate. Nesting is completely flat, with no conditional logic or loops. Clarity of intent is excellent, as the class name, Javadoc, and method names explicitly convey the purpose of each delegate method. The code length is appropriate for its purpose, avoiding unnecessary verbosity while maintaining completeness. Reading flow is natural and predictable, grouped logically by related functionalities. The only minor deduction is the absence of inline comments for individual methods, but the uniformity of the pattern makes this unnecessary.
Run 2
The code is highly readable due to its consistent, flat structure. Each method follows the same simple delegation pattern, making the intent immediately clear. Nesting is minimal, and each method contains only one action per line, contributing to excellent action granularity. The class-level Javadoc provides useful context about the purpose and limitations. Method ordering is logical, grouping related methods (nodes/edges, direction properties, adjacency, incidence, connectivity). The only minor drawbacks are slight repetition inherent to forwarding classes and the lack of method-level comments explaining edge cases, but these do not significantly impact readability. Overall, the code is concise, well-organized, and easy to understand.
Run 3
The code is a highly readable forwarding/decorator class. It follows a clear, consistent structure: every public method simply delegates to an abstract delegate() method, making the intent and behavior immediately obvious. There is no unnecessary nesting, and each method contains a single action. The class-level Javadoc explains its purpose and temporary nature. The methods are organized logically, with related methods grouped together. The code is concise, with no redundant logic or boilerplate beyond what is necessary for delegation. Each override is a single line, enhancing readability and maintainability. The only minor drawback is that the class is somewhat repetitive, but this is inherent to the forwarding pattern and does not detract from clarity. Overall, the code is well-structured, flat, and easy to read.
Run 1
Code Structure: Well-organized forwarding class with consistent overrides and related overloads grouped together. Nesting: Flat, with no conditional or loop nesting. Clarity of intent: The class documentation, delegate() abstraction, and descriptive method names make the forwarding purpose explicit. Code length: Long due to repetitive interface forwarding, but each method is minimal and the repetition is justified. Action granularity: Each method contains a single return statement forwarding one operation; no unrelated actions are combined. Reading flow: Consistent formatting and predictable method bodies make scanning easy. Minor drawbacks are the extensive boilerplate and lack of spacing between the package declaration and imports.
Run 2
Code Structure: Well-organized forwarding class with related operations and overloads grouped together. Nesting: Flat, single-statement methods with no nested control flow. Clarity of intent: The class documentation, descriptive method names, and consistent delegate calls make its purpose explicit. Code length: Long overall because of necessary forwarding boilerplate, but each method is concise without unnecessary logic. Action granularity: Each method contains one clear forwarding statement, with no unrelated actions combined. Reading flow: Consistent formatting and predictable method structure make scanning easy; minor spacing between the package and imports would improve presentation.
Run 3
Code Structure: Logically organized forwarding methods, with related operations and overloads grouped together. Nesting: Completely flat method bodies with no conditional or loop nesting. Clarity of intent: The class documentation, delegate() method, descriptive names, and consistent forwarding pattern make its purpose explicit. Code length: The class is lengthy and repetitive, but each method is minimal; most repetition is inherent to implementing this forwarding interface. Action granularity: Each method contains a single return statement performing one forwarding operation. Reading flow: Consistent formatting and predictable method implementations make scanning easy. Minor drawbacks are the repetitive boilerplate and lack of blank lines separating the package declaration from imports and related method groups.