Sample

Dorn/java/138

Human rating uses the original dataset scale.

DatasetDorn
Human3.07
Lines50

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett10–1; higher is more readable
98.6Δ 64.9
Scalabrino0.7450–1; higher is more readable
82.2Δ 48.5
Dorn0.9250–1; higher is more readable
96.4Δ 62.7
Mi0.6950–1; higher is more readable
82.7Δ 49.0
LLOC11Logical lines; fewer is more readable
57.0Δ 23.3
DeepSeek V4 Pro6.670–20; mean of three runs
20.9Δ 12.8
GPT-6.1 Sol12.330–20; mean of three runs
24.4Δ 9.3
BTTF0.790–1; higher is more readable
97.2Δ 63.5
Human3.071–5; original rating
33.7

Views

Download official ZIP ↗

Select the downloaded ZIP or its extracted folder. Files stay in your browser.

Loading feature diagnosis…

Source regions

Feature contributions

Feature contributions

FeatureValueContribution
(log-odds)
Source linesThe number of non-empty source lines.50+20
Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones.387.971−12.803
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.639−6.958

Intercept 8.87 + feature contributions = 9.109 (log-odds).
Score = sigmoid(9.109) = 1.

Score0.745

Feature contributions

FeatureValueContribution
(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.36.902+2.102
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.0−0.804
Indentation frequencyHow rapidly indentation changes from line to line.43+0.75
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.45−0.557
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.49.158+0.277
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.069+0.27

Intercept 0.07 + feature contributions = 2.506 (log-odds).
Score = sigmoid(2.506) = 0.925.

Score0.695
Score11
Run 1

The code shows severe structural issues. Method signatures are split across multiple lines with inconsistent formatting and stray whitespace, breaking natural reading flow. Parameter alignment is erratic, with tabs before parameter names and inconsistent spacing around parentheses. The opening snippet appears truncated, starting mid-declaration with an orphaned parameter and mismatched braces. Methods are empty or simply call notSupported(), but the implementation intent is unclear without context - empty methods like addTrackerListener are ambiguous. Each action is on its own line, which is positive, and nesting is minimal. However, the fragmented signatures, inconsistent indentation, and missing context make the code difficult to parse mentally. The listener types and method names suggest a download management interface, but the formatting undermines readability. Code length is brief, but brevity doesn't compensate for the syntactic noise and incomplete initial declaration.

Run 2

The code is largely unreadable due to severe fragmentation and poor formatting. Each method signature is split across multiple lines with inconsistent line breaks, making it difficult to quickly parse method names and parameters. The code structure lacks cohesion, and the alternating line-break patterns disrupt reading flow. While nesting is minimal and action granularity is generally one action per line, clarity of intent suffers because empty method bodies and repeated `notSupported()` calls are presented without context. Code length is unnecessarily inflated by formatting choices. The inconsistent indentation, misplaced spaces before parameters, and broken method signatures create a tangled appearance. The methods themselves are simple, but the presentation obscures their purpose and makes the code appear disorganized and difficult to scan.

Run 3

The code exhibits poor readability. The structure is fragmented with method signatures broken awkwardly across lines, reducing logical organization. While nesting is absent, the unusual line breaks disrupt reading flow and clarity of intent. Some methods are empty, making their purpose ambiguous. The code is concise but at the cost of clarity — empty or notSupported() bodies leave the reader guessing. Action granularity is acceptable (one action per line), but the inconsistent spacing before parameter names (e.g., 'DownloadTrackerListener l') is jarring. The overall reading flow feels disorganized due to these formatting choices.

Run 1

Code Structure: Listener methods are logically grouped, but the snippet begins with an incomplete method declaration. Nesting: Methods are flat, with no nested control flow. Clarity of intent: Descriptive method names indicate listener operations, but empty bodies silently do nothing, and notSupported() provides no visible explanation. Code length: Bodies are concise, though excessive line breaks and repeated boilerplate make the snippet longer than necessary. Action granularity: Each nonempty method contains one clearly separated action. Reading flow: Repeated formatting makes the pattern easy to follow, but split declarations, inconsistent whitespace, and the truncated opening interrupt natural reading.

Run 2

Code Structure: Listener methods are logically grouped, but the snippet starts with an incomplete method declaration. Nesting: Flat method bodies are easy to follow. Clarity of intent: Descriptive method and parameter types indicate purpose, but empty bodies lack explanations for their no-op behavior, unlike methods explicitly calling notSupported(). Code length: Implementations are concise, though excessive line breaks inflate simple declarations. Action granularity: Each nonempty body contains a single action, with no crowded statements. Reading flow: Repeated add/remove patterns help navigation, but inconsistent spacing, tabs, and split signatures interrupt otherwise straightforward reading.

Run 3

Code Structure: Listener methods are logically grouped, but the snippet starts with an incomplete method declaration. Nesting: Flat method bodies make control flow easy to follow. Clarity of intent: Descriptive method names indicate listener operations, but empty bodies leave their no-op behavior unexplained, while notSupported() makes unsupported operations clearer. Code length: Bodies are concise, though repetitive stubs and heavily split declarations add visual length. Action granularity: Each nonempty body contains one action on its own line. Reading flow: Consistent brace placement helps, but irregular whitespace, tabs, and multiline signatures interrupt otherwise straightforward reading.