Sample
int-8ac3c9af90d8-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.767 | 0–1; higher is more readable |
| Dorn | 0.682 | 0–1; higher is more readable |
| Mi | 0.218 | 0–1; higher is more readable |
| LLOC | 11 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 5.33 | 0–20; mean of three runs |
| GPT-6.1 Sol | 12 | 0–20; mean of three runs |
| BTTF | 0.603 | 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. | 867.881 | −28.64 |
| Source linesThe number of non-empty source lines. | 24 | +9.6 |
| 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.958 | −7.437 |
Intercept 8.87 + feature contributions = -17.608 (log-odds).
Score = sigmoid(-17.608) = 0.
| Score | 0.767 |
|---|
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 101.92 | +0.84 |
| 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. | 101.92 | −0.652 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 1 | +0.398 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 25 | +0.151 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.085 | +0.112 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 19 | −0.08 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 23.748 | −0.078 |
Intercept 0.07 + feature contributions = 0.762 (log-odds).
Score = sigmoid(0.762) = 0.682.
| Score | 0.218 |
|---|
| Score | 11 |
|---|
Run 1
The code has severe readability problems. The structure is tangled, with multiple classes and import statements on single lines, and method declarations and closing braces crammed together (e.g., '} @Override public boolean isCompilable()'). There is no consistent indentation or line breaks—the class declaration immediately follows the imports, and fields are aligned with methods. Nesting is minimal but the lack of whitespace makes logical grouping unclear. Clarity of intent is obscured by the compressed formatting; the actual purpose of the class is unclear until one deciphers the method names. The code length is short but unnaturally so, sacrificing readability for compactness. Action granularity is poor—multiple actions (closing brace, annotation, method signature, opening brace) occur on single lines. Reading flow is disorganized, forcing the reader to constantly reparse lines to separate elements. The code would be much clearer with standard line breaks, indentation, and spacing between methods and fields. The content is simple, but presentation destroys readability.
Run 2
The code is a simple AST node but suffers from poor formatting that hurts readability. The structure mixes multiple statements on single lines, inconsistent indentation, and method declarations placed on the same line as closing braces. While the overall purpose is fairly clear (representing a long literal), the execution lacks clean separation between class members. Nesting is not an issue, but action granularity is poor—several actions are packed onto single lines. The reading flow is disrupted by cramped code and inconsistent spacing. Concise in length, yes, but this compactness is achieved at the cost of clarity and conventional formatting. Improved line breaks and indentation would make this much more readable.
Run 3
The code is poorly structured and difficult to read. Multiple statements are compressed onto single lines, mixing field declarations, constructor logic, and method definitions with inconsistent indentation and brace placement. This violates action granularity and disrupts natural reading flow. While the class has a clear purpose and the methods are functionally simple, the formatting obscures the logical organization. The import statements are also combined on one line, and closing braces are crammed together. Restructuring into properly indented, one-action-per-line code would greatly improve readability.
Run 1
Code Structure: The class logically groups a literal's value, constructor, and overrides, but compressed formatting obscures method boundaries. Nesting: Very shallow, with no conditional or loop nesting. Clarity of intent: The class documentation, descriptive names, and straightforward methods clearly convey its purpose; the descriptor "J" requires JVM knowledge. Code length: Concise, with no unnecessary logic, though excessive compression hurts readability. Action granularity: Multiple imports and statements share lines, and braces and annotations run into subsequent declarations. Reading flow: The method order is natural, but inconsistent spacing and line breaks force readers to disentangle otherwise simple code.
Run 2
Code Structure: The class logically groups its field, constructor, and methods, but compressed formatting obscures these boundaries. Nesting: Minimal nesting makes the implementation easy to follow. Clarity of intent: The documentation, class name, and method names clearly identify a long-literal AST node and its behavior. Code length: The implementation is appropriately concise, with no unnecessary logic. Action granularity: Multiple imports, declarations, annotations, and statements share lines, reducing visual separation; generateCode places two actions on one line. Reading flow: Inconsistent spacing and closing braces merged with subsequent annotations interrupt otherwise straightforward top-to-bottom reading. Conventional formatting would substantially improve readability without changing the implementation.
Run 3
Code Structure: The class logically groups its field, constructor, and overridden methods, but compressed declarations and inconsistent formatting obscure boundaries. Nesting: Minimal nesting keeps the implementation easy to follow. Clarity of intent: The documentation, class name, and method names clearly identify a long-literal AST node; the descriptor "J" requires JVM knowledge. Code length: The implementation is concise without unnecessary logic, although excessive line compression reduces readability. Action granularity: Multiple imports, statements, annotations, and closing braces share lines, making individual operations harder to distinguish. Reading flow: The overall sequence is natural, but irregular whitespace and annotations attached to preceding closing braces interrupt scanning.