Sample
int-7621d1432f0d-I04
Replace method, parameter, and local names with deterministic ProGuard-style short identifiers
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0 | 0–1; higher is more readable |
| Scalabrino | 0.656 | 0–1; higher is more readable |
| Dorn | 0.255 | 0–1; higher is more readable |
| Mi | 0.629 | 0–1; higher is more readable |
| LLOC | 24 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 7 | 0–20; mean of three runs |
| GPT-6.1 Sol | 13 | 0–20; mean of three runs |
| BTTF | 0.408 | 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. | 2355.469 | −77.73 |
| Source linesThe number of non-empty source lines. | 55 | +22 |
| 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.459 | −6.689 |
Intercept 8.87 + feature contributions = -53.55 (log-odds).
Score = sigmoid(-53.55) = 0.
| Score | 0.656 |
|---|
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Indentation frequencyHow rapidly indentation changes from line to line. | 55 | +1.165 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 55 | −0.911 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 55 | −0.841 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 0 | −0.804 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 54.919 | +0.358 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.115 | −0.173 |
| 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. | 84.964 | +0.066 |
Intercept 0.07 + feature contributions = -1.07 (log-odds).
Score = sigmoid(-1.07) = 0.255.
| Score | 0.629 |
|---|
| Score | 24 |
|---|
Run 1
The code has several major readability issues. Method names 'a' and 'b' are completely meaningless, violating clarity of intent. Variable names like 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h' provide zero semantic information about their purpose. The deeply nested loops (two levels) for header iteration increase complexity. Multiple actions are combined within single if blocks, and reading flow is disrupted by poor naming throughout. While the code has reasonable structure with logical separation of concerns (HTTP response handling vs content handling), this is undermined by obscure naming. The action granularity is acceptable, with each statement on its own line, but the overall readability is severely compromised by the naming conventions that appear to be deliberately obfuscated for a code golfing challenge rather than production-quality code.
Run 2
The code is functionally simple but suffers from poor readability. Method names 'a' and 'b' are cryptic, violating clarity of intent. Parameters like 'a', 'b', 'c' obscure meaning. The logic is not deeply nested, but there is a hidden dual-purpose structure: the handler checks for HttpResponse and HttpContent in sequence without an else, which hurts reading flow. Some actions are grouped per line, but overall structure is logical. However, the lack of descriptive naming and method purpose makes the code ambiguous and hard to maintain.
Run 3
The code suffers from poor naming (method parameters like 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'), which severely obscures intent. Methods are named 'a' and 'b' instead of meaningful names like 'channelRead0' and 'exceptionCaught'. The logic is somewhat structured but the cryptic names make it hard to follow. Nesting is moderate—two levels deep in loops—but the flat if-blocks help readability. Action granularity is acceptable, with one main action per line. Reading flow is disrupted by unclear variable names, forcing the reader to trace types manually. While the code is concise, the lack of descriptive names for methods and parameters makes it unnecessarily difficult to understand. The code would be significantly more readable with proper naming conventions and possibly extracting nested logic into helper methods.
Run 1
Code Structure: Response metadata, content handling, and error handling are logically separated. Nesting: Mostly moderate, but the header section nests two loops inside two conditionals, increasing reading effort. Clarity of intent: HTTP types and output labels reveal the purpose, but single-letter method and variable names obscure roles and handler intent. Code length: Compact and largely necessary, with little redundant logic. Action granularity: Each statement performs one clear action, making execution easy to follow. Reading flow: Processing proceeds naturally from response metadata to body content and connection closure; spacing helps distinguish stages. However, cryptic naming and nested header traversal prevent the code from being highly readable.
Run 2
Code Structure: Logically separates response metadata, content handling, and exception handling, although descriptive helper methods could improve organization. Nesting: Mostly shallow, but header processing reaches four nested control-flow levels. Clarity of intent: HTTP types and output messages reveal the purpose, while single-letter method and variable names significantly obscure meaning. Code length: Compact and reasonably proportional to its functionality, with little unnecessary code. Action granularity: Each statement generally performs one action, making operations easy to follow. Reading flow: Processing progresses naturally from status and headers to body content and closure, with useful whitespace separating stages. Overall, the straightforward structure is readable, but opaque naming and the nested header loops reduce clarity.
Run 3
Code Structure: Response metadata, content handling, and exception handling are logically separated. Nesting: Mostly shallow, though header printing reaches three nested levels. Clarity of intent: HTTP types and output labels reveal the purpose, but single-letter method and variable names obscure roles and make the overrides harder to understand. Code length: Compact and proportionate to its functionality, with minor repetition in printing. Action granularity: Each statement performs one clear action, without compound lines. Reading flow: Processing naturally moves from status and headers to content and connection closure; whitespace supports scanning, but poor naming interrupts comprehension.