Sample
int-ad823b54afc0-I11
Split eligible integer literals into pairs of short-named intermediate variables
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0.916 | 0–1; higher is more readable |
| Scalabrino | 0.891 | 0–1; higher is more readable |
| Dorn | 0.825 | 0–1; higher is more readable |
| Mi | 0.508 | 0–1; higher is more readable |
| LLOC | 1 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 18.33 | 0–20; mean of three runs |
| GPT-6.1 Sol | 19 | 0–20; mean of three runs |
| BTTF | 0.732 | 0–1; higher is more readable |
Views
Loading feature diagnosis…
Source regions
Feature contributions
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Source linesThe number of non-empty source lines. | 31 | +12.4 |
| Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones. | 353.108 | −11.653 |
| 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.818 | −7.226 |
Intercept 8.87 + feature contributions = 2.391 (log-odds).
Score = sigmoid(2.391) = 0.916.
| Score | 0.891 |
|---|
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.026 | +0.685 |
| 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. | 77 | +0.404 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 1 | +0.398 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 69.906 | +0.323 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 14 | −0.253 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 32 | −0.097 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 30.718 | +0.02 |
Intercept 0.07 + feature contributions = 1.55 (log-odds).
Score = sigmoid(1.55) = 0.825.
| Score | 0.508 |
|---|
| Score | 1 |
|---|
Run 1
The code is a well-structured Spring interface with clear intent. It has minimal nesting (none), appropriate length for its purpose, and each parameter is on its own line for readability. The Javadoc provides comprehensive context about how to use the interface, including references to related classes. The package structure and imports are standard and organized. The annotation @Nullable is used consistently. The method signature is clean and logically ordered. Points deducted only because the Javadoc could be slightly more concise, and there is a minor formatting inconsistency with the parameter continuation indentation. Overall, this is exemplary interface design that follows Java conventions perfectly.
Run 2
This code is highly readable. It has a clear, logical interface structure with a single well-documented method. Nesting is minimal (just standard Java interface structure). The intent is explicitly stated through comprehensive Javadoc and descriptive parameter names. Code length is concise—no unnecessary methods or fields. Action granularity is appropriate for an interface declaration (signature only). Reading flow is natural: package declaration, imports, class-level Javadoc, interface declaration, method Javadoc, then method signature. The only minor deduction is that the parameter alignment and line wrapping could be slightly more visually balanced, but overall this is exemplary code clarity.
Run 3
The code is a well-structured interface with a clear purpose: defining a customization contract for WebTestClient. It uses flat nesting with no complex logic, making it straightforward to read. The Javadoc is thorough and explains the intent and usage of the method, including its parameters and edge cases. The method signature is concise, with descriptive parameter names, and the use of @Nullable annotations enhances clarity. Action granularity is essentially a single logical action per line in the signature. The overall reading flow is natural, as the packaging, imports, type declaration, and documentation follow standard conventions. Minor deductions stem from the long Javadoc block, which, while informative, slightly increases verbosity.
Run 1
Code Structure: A single, focused interface with logically grouped imports, documentation, and one method. Nesting: No nested control flow; only the interface scope. Clarity of intent: Descriptive names, detailed Javadoc, and nullable annotations clearly explain the customization contract and parameters. Code length: Concise declaration with useful documentation rather than unnecessary implementation. Action granularity: One method declaration, with parameters split across lines for readability; no bundled actions. Reading flow: Natural progression from package and imports to interface purpose and method contract. Minor formatting improvements, such as blank lines separating the package and imports, would make it slightly easier to scan.
Run 2
Code Structure: A clean, single-purpose interface with logically ordered imports, documentation, and one method. Nesting: Minimal, with no nested control flow. Clarity of intent: Descriptive names, comprehensive Javadoc, and explicit nullable annotations clearly communicate the customization contract and parameter roles. Code length: Concise; documentation is longer than the declaration but provides useful context. Action granularity: The sole method declaration is neatly split across lines, with one parameter per continuation line. Reading flow: Natural top-to-bottom progression from interface purpose to method details. Minor formatting improvements, such as a blank line between the package declaration and imports, would make it slightly easier to scan.
Run 3
Code Structure: A clean interface with one method, logically ordered imports, and well-placed documentation. Nesting: Minimal nesting, with no conditional or control-flow complexity. Clarity of intent: Descriptive type and parameter names, detailed Javadoc, and explicit nullability annotations clearly communicate the customization contract; the callback timing is slightly less explicit. Code length: Concise declaration with proportionate documentation. Action granularity: The single method declaration is neatly split across lines, with no crowded statements. Reading flow: Natural progression from package and imports to interface documentation and method signature. A blank line between the package declaration and imports would slightly improve visual separation.