Sample
int-c72b0498f144-I05
Rewrite eligible decimal integer literals in hexadecimal notation
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.67 | 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 and highly readable. It follows clear organization with imports, a single class, and logical method ordering. The class has a single responsibility (Gson-based JSON decoding) and uses flat, minimal nesting. Method names and Javadoc clearly communicate intent, and the constructors document their parameters. The decode method is concise and performs one logical action per line, with proper resource cleanup in a finally block. The only minor issues are the lengthy fully-qualified exception reference and the somewhat long package import lines, but these don't significantly impair readability. Overall, the code is exemplary in clarity and structure.
Run 3
The code is well-structured with clear separation of constructors, overridden methods, and a private static field. Nesting is minimal (only a try-finally block), and each action is generally on its own line. Intent is clearly conveyed through Javadoc and method names. The class is concise and focused, though the decode method's chained call within a single line slightly reduces readability. The unsupported stream decoding method is explicit, improving clarity. Overall, the code follows Spring conventions and is easy to follow.
Run 1
Code Structure: Logically organized into constants, a dependency field, constructors, and decoder overrides. Nesting: Very shallow, with only a straightforward try/finally block. Clarity of intent: Descriptive names and useful Javadoc clearly explain Gson decoding and the lack of streaming support; buffer cleanup is explicit. Code length: Concise implementation with proportionate documentation, though method signatures are long. Action granularity: Statements generally perform one action per line, but the nested reader creation and parsing call compress several operations into one expression. Reading flow: Natural progression from configuration to capability checks and decoding, slightly hindered by ungrouped imports and long lines.
Run 2
Code Structure: Logically organized into constants, a dependency field, constructors, and decoding overrides. Nesting: Very shallow; the only control-flow block is a straightforward try/finally. Clarity of intent: Descriptive names and useful documentation clearly explain Gson decoding and unsupported streaming behavior. Code length: Concise implementation with little redundancy, though method signatures are long. Action granularity: Statements generally perform one action per line; the decoding return combines reader construction, stream access, and parsing, slightly increasing cognitive load. Reading flow: Consistent formatting and conventional method ordering make the class easy to follow. Dense imports and unwrapped method signatures slightly reduce visual readability.
Run 3
Code Structure: Logically organized into constants, state, constructors, capability checks, and decoding methods. Nesting: Minimal, with only a straightforward try/finally block. Clarity of intent: Descriptive names and useful documentation clearly explain Gson decoding and the streaming limitation; the purpose of excluding CharSequence targets is less explicit. Code length: Concise implementation with proportionate documentation, though long method signatures reduce scanability. Action granularity: Statements generally perform one action per line; the nested reader construction in the parsing call adds slight density. Reading flow: Conventional Java ordering and consistent indentation make the class easy to follow, with minor formatting weaknesses in import separation and line wrapping.