Sample
int-ac21004b1f97-I10
Remove about 40% of line-break groups while retaining structure
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0 | 0–1; higher is more readable |
| Scalabrino | 0.466 | 0–1; higher is more readable |
| Dorn | 0.216 | 0–1; higher is more readable |
| Mi | 0.043 | 0–1; higher is more readable |
| LLOC | 19 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 5.33 | 0–20; mean of three runs |
| GPT-6.1 Sol | 12.67 | 0–20; mean of three runs |
| BTTF | 0.385 | 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. | 2055.329 | −67.826 |
| Source linesThe number of non-empty source lines. | 63 | +25.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.817 | −7.225 |
Intercept 8.87 + feature contributions = -40.981 (log-odds).
Score = sigmoid(-40.981) = 0.
| Score | 0.466 |
|---|
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. | 151.953 | −2.771 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 152 | +1.648 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 64 | −1.23 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 35 | +0.473 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 62.771 | +0.468 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.052 | +0.437 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 35 | −0.382 |
Intercept 0.07 + feature contributions = -1.286 (log-odds).
Score = sigmoid(-1.286) = 0.216.
| Score | 0.043 |
|---|
| Score | 19 |
|---|
Run 1
The code has severe readability issues primarily due to formatting. Multiple declarations and annotations are placed on the same line as imports (e.g., `@GwtCompatible public final class...`), and closing braces are followed by method definitions on the same line. There is no consistent line break structure, causing visual clutter and making it difficult to identify class boundaries and method signatures. Nesting itself is not excessive, but the lack of vertical separation artificially flattens the hierarchical structure into a dense wall of text. The action granularity criterion is violated repeatedly with multiple statements per line. While the code logically belongs to the Guava collection framework and the intent is documented, the actual code body is difficult to scan quickly due to broken indentation and inline declarations. This formatting would fail typical Java style guides and reduces maintainability despite the underlying logic being straightforward.
Run 2
The code is poorly readable due to severe formatting issues and tangled structure. Multiple imports and Javadoc blocks are compressed onto single lines, making it difficult to parse declarations. Class and method signatures are jammed together, reducing clarity. Documentation is present but rendered hard to read due to line-break inconsistencies. Several methods contain multiple actions per line, violating action granularity and reading flow. Although the overall logic is straightforward and the code isn't deeply nested, the lack of consistent indentation and vertical spacing significantly hampers comprehension. Readability could be dramatically improved by applying standard Java formatting conventions, separating annotations, Javadocs, and statements onto distinct lines.
Run 3
While the code logically represents a class with clear purpose, its readability is severely compromised by formatting. Import statements are merged onto the same line, class and method declarations are concatenated, and opening braces are placed at line ends alongside code. This creates a cramped, tangled visual structure that obscures the logical organization. Although each line generally contains a single action, the compression of structural elements forces the reader to parse dense horizontal blocks. Comments and Javadocs are interleaved awkwardly, disrupting natural reading flow. The underlying logic is straightforward, but the physical layout makes it difficult to scan and maintain.
Run 1
Code Structure: Factories, constructors, and serialization methods are logically ordered, but compressed formatting obscures their boundaries. Nesting: Minimal nesting makes control flow easy to follow. Clarity of intent: Descriptive names and thorough documentation clearly explain behavior, though inherited helpers require external context. Code length: The implementation is concise without substantial redundancy; documentation adds useful context. Action granularity: Several imports, statements, annotations, and declarations share lines, making individual actions harder to distinguish. Reading flow: Inconsistent indentation, inline closing braces, and comments attached to preceding declarations interrupt otherwise natural progression. Overall, the design is readable, but poor formatting noticeably reduces scanability.
Run 2
Code Structure: Factory methods, constructors, and serialization methods are logically grouped, but inconsistent formatting obscures their boundaries. Nesting: Minimal nesting makes the implementation easy to follow. Clarity of intent: Descriptive names and detailed documentation clearly explain behavior, although inherited functionality requires external context. Code length: The implementation is concise, with little redundant logic; documentation adds useful context rather than unnecessary length. Action granularity: Several imports and statements share lines, and declarations are crowded together with annotations, comments, or closing braces, reducing scanability. Reading flow: The overall order is natural, but inconsistent indentation, misplaced line breaks, and compressed method boundaries repeatedly interrupt reading.
Run 3
Code Structure: Factory methods, constructors, and serialization methods are logically grouped, but inconsistent formatting obscures their boundaries. Nesting: Very shallow, with no complex conditionals or loops. Clarity of intent: Descriptive names and thorough documentation explain the multiset's behavior and method purposes. Code length: The implementation is concise, with little unnecessary code; documentation is proportionate. Action granularity: Several imports, declarations, annotations, and statements share lines, making individual actions harder to scan. Reading flow: Irregular indentation, closing braces attached to statements, and comments immediately following declarations disrupt otherwise natural top-to-bottom organization. Overall, the simple design is understandable, but formatting significantly reduces readability.