Sample
Dorn/java/128
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0.73 | 0–1; higher is more readable | 84.1Δ 11.4 |
| Dorn | 0.758 | 0–1; higher is more readable | 72.1Δ 23.4 |
| Mi | 0.709 | 0–1; higher is more readable | 86.1Δ 9.5 |
| LLOC | 2 | Logical lines; fewer is more readable | 93.7Δ 1.8 |
| DeepSeek V4 Pro | 12.33 | 0–20; mean of three runs | 55.8Δ 39.7 |
| GPT-6.1 Sol | 14 | 0–20; mean of three runs | 41.4Δ 54.2 |
| BTTF | 0.589 | 0–1; higher is more readable | 70.8Δ 24.8 |
| Human | 4.15 | 1–5; original rating | 95.5 |
Views
Select the downloaded ZIP or its extracted folder. Files stay in your browser.
Loading feature diagnosis…
Source regions
Feature contributions
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| 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.708 | −7.063 |
| Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones. | 133.783 | −4.415 |
| Source linesThe number of non-empty source lines. | 9 | +3.6 |
Intercept 8.87 + feature contributions = 0.993 (log-odds).
Score = sigmoid(0.993) = 0.73.
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. | 50.9 | +1.509 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 0 | −0.804 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 10 | +0.682 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 8 | −0.46 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 1 | +0.398 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 8.846 | −0.286 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.093 | +0.035 |
Intercept 0.07 + feature contributions = 1.144 (log-odds).
Score = sigmoid(1.144) = 0.758.
| Score | 0.709 |
|---|
| Score | 2 |
|---|
Run 1
The code is very short, but it lacks sufficient context. There is no constructor, no methods, and no documentation. The class 'ConnectionPoints' contains two fields only: a Point array and a boolean flag. While the structure is simple and flat, the intent is unclear—what does 'pointsAreLeftOfWindow' mean? The naming is somewhat ambiguous. For such a small snippet, readability is limited because it is incomplete. However, the fields are clearly named enough to hint at their purpose, and the layout is clean.
Run 2
The code is readable and well-structured: it has a clear package declaration, a single import, and a clean class definition with two fields. Naming is intuitive ('ConnectionPoints', 'points', 'pointsAreLeftOfWindow'). There is no unnecessary nesting or complexity. However, the snippet is very short and lacks context—methods, constructors, or comments are absent, which limits a full assessment of intent and action granularity. The blank line at the end is harmless but suggests an incomplete file. Score reflects good readability for what is shown, but not full marks due to brevity and missing implementation details.
Run 3
The code is incomplete, showing only a package declaration, import, class declaration, and two fields. Structure is logical but minimal. Nesting is absent, which is fine. Clarity of intent is low because the fields lack documentation or context; 'ConnectionPoints' and 'pointsAreLeftOfWindow' suggest purpose but not behavior. Code length is short, but that is only due to truncation. Action granularity and reading flow cannot be fully assessed without methods. The field name 'points' is generic and the boolean is unclear. Overall, the snippet is not unreadable but lacks enough substance to demonstrate good readability.
Run 1
Code Structure: A straightforward package, import, class, and field layout, but the missing closing brace makes the snippet incomplete. Nesting: Minimal, with only class-level declarations. Clarity of intent: ConnectionPoints and pointsAreLeftOfWindow suggest a graphical purpose, though points is generic and the fields lack explanatory context. Code length: Very concise, without unnecessary statements. Action granularity: Each field declaration occupies its own line. Reading flow: Natural top-to-bottom organization and consistent indentation, weakened by the abrupt ending and wildcard import.
Run 2
Code Structure: The package, import, class, and fields follow a conventional Java organization, but the snippet lacks a closing class brace. Nesting: Only class-level nesting makes it easy to scan. Clarity of intent: ConnectionPoints and pointsAreLeftOfWindow convey their roles, although points is generic and the class's behavior is not shown. Code length: Very concise, with no unnecessary logic. Action granularity: Each field declaration occupies its own line. Reading flow: The top-to-bottom layout is natural and spacing is consistent, though the trailing blank lines and incomplete class interrupt the flow. The wildcard import is less explicit than importing java.awt.Point directly.
Run 3
Code Structure: The package, import, class, and fields follow a logical order, but the snippet is incomplete and lacks a closing class brace. Nesting: Minimal nesting makes it easy to scan. Clarity of intent: ConnectionPoints and pointsAreLeftOfWindow suggest a collection of connection coordinates and their position relative to a window, though their precise role is undocumented. Code length: Very concise, with no unnecessary implementation. Action granularity: Each field declaration occupies its own line. Reading flow: Conventional ordering and consistent indentation support a natural flow, but the abrupt ending interrupts comprehension. The wildcard import and implicit package-private field visibility slightly reduce explicitness.