Sample
int-e4780d45b2ed-I05
Rewrite eligible decimal integer literals in hexadecimal notation
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0 | 0–1; higher is more readable |
| Dorn | 0.117 | 0–1; higher is more readable |
| Mi | 0.143 | 0–1; higher is more readable |
| LLOC | 21 | 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.616 | 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. | 1529.232 | −50.465 |
| Source linesThe number of non-empty source lines. | 52 | +20.8 |
| 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.719 | −7.078 |
Intercept 8.87 + feature contributions = -27.873 (log-odds).
Score = sigmoid(-27.873) = 0.
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. | 112.962 | −1.119 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 52 | +1.061 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 53 | −0.84 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 0 | −0.804 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 52 | −0.772 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 51.816 | +0.314 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.09 | +0.069 |
Intercept 0.07 + feature contributions = -2.021 (log-odds).
Score = sigmoid(-2.021) = 0.117.
| Score | 0.143 |
|---|
| Score | 21 |
|---|
Run 1
The code is well-structured, with a logical enum layout: constants first, then static fields, constructor, accessor methods, and a lookup method. Nesting is minimal, with only a single loop inside the static initializer and lookup method. Intent is clear: each enum constant maps a STOMP version to its subprotocol, and the static block builds a comma-separated list for registration. Code length is appropriate for the functionality, and actions are granular, one per line. Reading flow is natural and easy to follow. Minor deductions: the static initializer could be more concise with streams, and error handling in findBySubProtocol is slightly abrupt, but overall readability is excellent.
Run 2
The code is well-structured and readable. The enum is logically organized with clear constants, a static block for initialization, and clean methods. Nesting is minimal, with only one level in the loop and conditional checks. Intent is clear, especially with descriptive names like `findBySubProtocol` and `CHANNEL_ATTRIBUTE_KEY`. Code length is appropriate for the functionality, avoiding unnecessary verbosity. Each line generally performs a single action, and the reading flow is natural, moving from constants to initialization to methods. The static block could be slightly simplified with streams, but the current approach is acceptable and easy to follow. Overall, it’s concise and maintainable.
Run 3
The code is highly readable with clear structure and intent. The enum is well-organized with constants, static initialization, fields, and methods separated logically. Nesting is minimal—only a single-level if and for in findBySubProtocol. Intent is clear: represent STOMP versions, expose their subprotocols, and provide lookup. Code length is appropriate; no unnecessary lines. Action granularity is good—most lines perform one action, though the throw statement is slightly long but acceptable. Reading flow is natural: constants first, then initialization, then fields, constructors, accessors, and utility method. Minor improvements could include a more concise subprotocol list initialization using streams, but overall clarity and maintainability are excellent.
Run 1
Code Structure: The enum is logically organized into constants, static initialization, fields, constructor, accessors, and lookup. Nesting: Most code is flat, although findBySubProtocol has three nested control-flow levels; an early null check could simplify it. Clarity of intent: Descriptive names and immutable fields make version mapping and subprotocol lookup clear. Code length: Compact and proportionate to its functionality, with little unnecessary code. Action granularity: Each statement performs one clear action, and assignments and returns occupy separate lines. Reading flow: Consistent formatting and conventional ordering make the code easy to follow. Minor drawbacks include limited spacing around imports and a slightly awkward exception message.
Run 2
Code Structure: The enum logically groups protocol constants, shared attributes, initialization, instance fields, accessors, and lookup behavior. Nesting: Most code is flat, though the lookup uses three nested control structures; an early null check could reduce nesting. Clarity of intent: Descriptive names and straightforward methods clearly communicate version-to-subprotocol mapping and lookup. Code length: Compact and appropriately sized, with little unnecessary code. Action granularity: Each statement performs one clear action, and initialization steps are separated cleanly. Reading flow: Conventional organization and consistent formatting make the code easy to follow, although the static initializer preceding instance fields slightly interrupts the progression from data definitions to behavior.
Run 3
Code Structure: The enum is logically organized into constants, static initialization, fields, constructor, accessors, and lookup. Nesting: Most code is flat, although the lookup uses three nested control structures; an early null check could reduce nesting. Clarity of intent: Descriptive names and straightforward operations clearly communicate version-to-subprotocol mapping. Code length: Compact and proportionate to its functionality, with little unnecessary code. Action granularity: Each statement performs a single clear action, without compressed multi-action lines. Reading flow: Consistent formatting and conventional ordering support natural reading. Minor drawbacks include the missing blank line between the package and imports and the slightly awkward exception message.