Sample
int-00034c85b89f-I05
Rewrite eligible decimal integer literals in hexadecimal notation
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0.003 | 0–1; higher is more readable |
| Scalabrino | 0.753 | 0–1; higher is more readable |
| Dorn | 0.832 | 0–1; higher is more readable |
| Mi | 0.535 | 0–1; higher is more readable |
| LLOC | 8 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 18.67 | 0–20; mean of three runs |
| GPT-6.1 Sol | 19 | 0–20; mean of three runs |
| BTTF | 0.829 | 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. | 629.447 | −20.772 |
| Source linesThe number of non-empty source lines. | 33 | +13.2 |
| 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.748 | −7.122 |
Intercept 8.87 + feature contributions = -5.824 (log-odds).
Score = sigmoid(-5.824) = 0.003.
| Score | 0.753 |
|---|
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. | 75.971 | +0.447 |
| 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. | 73.882 | +0.388 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.064 | +0.323 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 34 | −0.167 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 24 | +0.093 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 32.818 | +0.049 |
Intercept 0.07 + feature contributions = 1.6 (log-odds).
Score = sigmoid(1.6) = 0.832.
| Score | 0.535 |
|---|
| Score | 8 |
|---|
Run 1
The code is highly readable. It has a clear, single-purpose class with a flat structure and minimal nesting. The constructor and methods are straightforward, each performing one clear action. Javadoc comments adequately explain the class, constructor parameter, and return value. Naming is consistent with Netty conventions, and the code is concise without being overly terse. The encodeAsByteBuf method reads naturally, writing the protocol version then the auth scheme. Minor points: the class-level comment is slightly terse ('An socks init response') and could be more descriptive, but this does not meaningfully impact readability. Overall, it follows clean code principles effectively.
Run 2
The code is highly readable, with clear structure and purpose. It follows standard Java conventions: a well-named class extending a clear hierarchy, a single immutable field with validation, a constructor that ensures non-null state, a simple getter, and a concise override. Nesting is minimal, and the encoding method has one action per line, making the flow natural. The only minor deduction is the redundant Javadoc for a simple getter, which adds slight length without much value. Overall, the code is easy to understand at a glance.
Run 3
The code is highly readable. It has a clear single-purpose class with minimal responsibilities. The structure is logical, with fields, constructor, accessor, and encode method in a natural order. Nesting is non-existent. Intent is explicit through clear naming and concise Javadoc. The code is concise without being cryptic. Each statement performs one action. The dependency on ObjectUtil for null-checking is appropriate. Minor deductions: Javadoc could elaborate slightly on encoding format, but this does not meaningfully affect readability.
Run 1
Code Structure: Cleanly organized into a field, constructor, accessor, and encoding method. Nesting: Flat, with no nested control flow. Clarity of intent: Descriptive class, field, and method names make the response's purpose clear; constructor validation explicitly enforces a non-null authentication scheme. Code length: Concise implementation, although the accessor documentation is repetitive. Action granularity: Each statement performs one focused action, and the two encoded bytes are written on separate lines. Reading flow: Natural progression from initialization to access and serialization. Minor presentation issues include missing spacing between the package declaration and imports and the grammatical error 'An socks init response.'
Run 2
Code Structure: The class is logically organized into a field, constructor, accessor, and encoding method. Nesting: Methods are flat, with no nested control flow. Clarity of intent: Descriptive names, explicit null validation, and straightforward byte writes clearly communicate the response's purpose. Code length: The implementation is concise, though the accessor documentation is slightly repetitive. Action granularity: Each statement performs one clear action on its own line. Reading flow: The progression from initialization to access and serialization is natural. Minor issues include missing spacing between the package declaration and imports and the grammatical error 'An socks init response.'
Run 3
Code Structure: The class is logically organized into a field, constructor, accessor, and encoder. Nesting: Methods are flat, with no nested control flow. Clarity of intent: Descriptive names, explicit null validation, and straightforward byte writes make the purpose clear. Code length: The implementation is concise, though the accessor documentation is slightly repetitive. Action granularity: Each statement performs one distinct action on its own line. Reading flow: The progression from initialization to access and encoding is natural. Minor formatting and documentation issues, such as no blank line after the package declaration and the phrase 'An socks init response,' slightly reduce polish.