Sample
int-f35dfbdf7d7f-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.844 | 0–1; higher is more readable |
| Dorn | 0.74 | 0–1; higher is more readable |
| Mi | 0.635 | 0–1; higher is more readable |
| LLOC | 18 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 6 | 0–20; mean of three runs |
| GPT-6.1 Sol | 11.33 | 0–20; mean of three runs |
| BTTF | 0.6 | 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. | 2525.522 | −83.342 |
| Source linesThe number of non-empty source lines. | 75 | +30 |
| Byte entropyHow varied the bytes in the source text are. Repeated bytes give a lower value; a more even mixture gives a higher value. | 3.883 | −5.824 |
Intercept 8.87 + feature contributions = -50.296 (log-odds).
Score = sigmoid(-50.296) = 0.
| Score | 0.844 |
|---|
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Indentation frequencyHow rapidly indentation changes from line to line. | 75 | +1.857 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 76 | −1.655 |
| 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. | 74.848 | +0.636 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 1 | +0.398 |
| 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. | 77.974 | +0.363 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.078 | +0.183 |
Intercept 0.07 + feature contributions = 1.048 (log-odds).
Score = sigmoid(1.048) = 0.74.
| Score | 0.635 |
|---|
| Score | 18 |
|---|
Run 1
The code is structurally organized as a request class with a builder, but the obfuscated method and parameter names (e.g., 'a', 'b', 'c', 'd', 'f', 'g', 'h') severely hurt clarity of intent and reading flow. The builder pattern is used, but overridden methods like 'a(short b)' return a VoteRequest without explaining the purpose. While action granularity is mostly one action per line and nesting is moderate, the deeply chained `d` method is long and hard to parse. The import list is concise but lacks explanation of `Readable`. Overall, the code is readable in structure but unreadable in naming, reducing its score significantly.
Run 2
This code is severely unreadable. All meaningful method and parameter names have been replaced with single letters (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o), destroying any clarity of intent. Inheritance and constructors are unclear. While the structure is not deeply nested, the action granularity is poor—the static factory method performs many chained operations. Reading flow is unnatural because names carry no semantic meaning. Code length is acceptable, but every other criterion fails.
Run 3
The code suffers from severe readability issues. Meaningless identifiers (a, b, c, d, f, g, h, i, j, etc.) obscure intent throughout; method names like a(short b) and b(int f, Throwable e) provide no semantic information. Nesting is deep in the Builder.d method with multiple inline setter and List.of chains, making structure hard to follow. Although the code is concise, it fails at clarity of intent—the purpose of parameters and methods is ambiguous. The static factory method d() is especially confusing, mixing many unrelated parameters with poor naming. Error handling in the response builder is terse but reduces clarity. Reading flow is unnatural due to non-descriptive naming and inconsistent action granularity. Overall, this code would require significant renaming and restructuring to be maintainable.
Run 1
Code Structure: The request class, nested builder, and factory methods are logically organized. Nesting: Most methods are flat, but nested object construction and List.of calls make the final method harder to scan. Clarity of intent: Domain types and setter names help, but single-letter method and parameter names obscure operations and argument meanings. Code length: The implementation is concise, with little unnecessary code. Action granularity: Most statements perform one action, and chained setters occupy separate lines, though the final return expression combines several construction steps. Reading flow: The overall progression is reasonable, but inconsistent indentation and clustered closing parentheses interrupt readability. Descriptive names and clearer formatting would substantially improve the code.
Run 2
Code Structure: The request class and nested builder are logically organized, with distinct construction, response, parsing, and data-creation methods. Nesting: Most methods are flat, but the nested fluent construction of topics and partitions requires careful tracking of parentheses. Clarity of intent: Single-letter method and parameter names obscure purpose and meaning; descriptive types and setter names partially compensate. Code length: The code is concise with little unnecessary repetition. Action granularity: Most statements perform one action, although the final return expression combines several object constructions and assignments. Reading flow: Conventional class organization helps, but inconsistent indentation, sparse spacing, and ambiguous names interrupt natural reading.
Run 3
Code Structure: The request class and nested builder are logically organized, with focused methods. Nesting: Most methods are flat, but the nested topic/partition construction requires tracking several levels and closing parentheses. Clarity of intent: Domain types and setter names reveal the purpose, but single-letter method and parameter names obscure operations and argument meanings, especially in the seven-parameter factory. Code length: The implementation is concise with little redundant code. Action granularity: Most statements perform one clear action, though the factory combines multiple object creations and assignments into one chained expression. Reading flow: The builder-to-request-to-factory progression is natural, but inconsistent indentation and cryptic naming interrupt comprehension.