Sample
int-1bfc63fb6e65-I12
Inline all eligible single-use intermediate local variables
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0 | 0–1; higher is more readable |
| Scalabrino | 0.511 | 0–1; higher is more readable |
| Dorn | 0.356 | 0–1; higher is more readable |
| Mi | 0.281 | 0–1; higher is more readable |
| LLOC | 14 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 17 | 0–20; mean of three runs |
| GPT-6.1 Sol | 18 | 0–20; mean of three runs |
| BTTF | 0.618 | 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. | 2531.532 | −83.541 |
| Source linesThe number of non-empty source lines. | 79 | +31.6 |
| Byte entropyHow varied the bytes in the source text are. Repeated bytes give a lower value; a more even mixture gives a higher value. | 5.158 | −7.737 |
Intercept 8.87 + feature contributions = -50.807 (log-odds).
Score = sigmoid(-50.807) = 0.
| Score | 0.511 |
|---|
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| 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. | 169.988 | −3.535 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 170 | +1.938 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 80 | −1.796 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 61 | +1.373 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 78.924 | +0.693 |
| 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.07 | +0.265 |
Intercept 0.07 + feature contributions = -0.593 (log-odds).
Score = sigmoid(-0.593) = 0.356.
| Score | 0.281 |
|---|
| Score | 14 |
|---|
Run 1
The code is well-structured and highly readable. It has a clear class hierarchy, logical organization with constructors and overridden methods, and minimal nesting. Each method has a single, clear purpose, and the actions are concise—one primary operation per line. The use of Javadoc comments and meaningful method names (e.g., canDecode, decode) enhances clarity of intent. The code length is appropriate, avoiding unnecessary verbosity while maintaining completeness. Reading flow is natural: the constructors lead to the overridden methods, each returning or throwing clear exceptions. Minor deductions include slightly long import statements and a single-line method that could be more readable if split, but overall the code is highly maintainable and understandable.
Run 2
The code is well-structured with clear separation of concerns: class declaration, constants, constructors, and overridden methods. Nesting is minimal, with only a try-finally block inside one method. Intent is clear from descriptive method names and Javadoc comments explaining limitations (no Flux support). Code length is appropriate—no unnecessary verbosity. Action granularity is good; each line performs a single logical action. Reading flow is natural: constructors follow the constant declaration, and overridden methods are grouped logically. Minor deductions: the decode method throws an UnsupportedOperationException without inline explanation (though Javadoc covers it), and the class-level Javadoc is somewhat long. Overall, the code is highly readable.
Run 3
The code is well-structured and readable. It has a clear class hierarchy, sensible constructor overloads, and good Javadoc documentation explaining intent and limitations. Methods are concise, with flat nesting and single-action lines in most places. The `canDecode` and `decode` methods clearly express their purpose. Minor deductions: the `Flux` variant of `decode` simply throws an exception (which is acceptable given documented constraints but still slightly awkward), and the streaming decode method signature is long, though this is standard for Spring decoders. Overall, the code is maintainable and easy to follow.
Run 1
Code Structure: Fields, constructors, capability checks, and decoding methods are logically organized. Nesting: Minimal nesting; the simple try/finally clearly expresses resource cleanup. Clarity of intent: Descriptive names and useful Javadoc explain Gson conversion and unsupported stream decoding, though the two decode overloads require attention to distinguish their roles. Code length: Concise implementation with proportionate documentation and little redundancy. Action granularity: Statements generally perform one action each; the nested reader construction and deserialization expression slightly compress several operations. Reading flow: Consistent formatting and conventional ordering make the class easy to follow, but long method signatures and the ungrouped import block reduce scanability slightly.
Run 2
Code Structure: Clearly organized into constants, a dependency field, constructors, and decoder overrides. Nesting: Minimal, with only a straightforward try/finally block. Clarity of intent: Descriptive names and useful documentation explain Gson conversion, supported MIME types, and the lack of streaming support. Code length: Concise implementation with proportionate documentation and little redundancy. Action granularity: Most statements perform one action; the JSON conversion line combines reader construction, stream access, type resolution, and parsing, slightly increasing cognitive load. Reading flow: Natural progression from configuration to capability checks and decoding, with explicit buffer cleanup. Long method signatures and the unwrapped canDecode expression slightly reduce scanability.
Run 3
Code Structure: Logically organized into constants, state, constructors, and decoder overrides, with clear separation of responsibilities. Nesting: Minimal; the only notable control structure is a straightforward try/finally. Clarity of intent: Descriptive names and useful Javadoc explain Gson-based decoding and the unsupported streaming operation. Code length: Concise implementation with proportionate documentation and little redundancy. Action granularity: Statements generally perform one action per line, although the nested reader creation and parsing expression combines several operations. Reading flow: Natural progression from configuration to capability checks and decoding, with explicit buffer cleanup. Readability is slightly reduced by very long method signatures, tightly packed imports, and inconsistent blank-line spacing.