Sample

Dorn/java/180

Human rating uses the original dataset scale.

DatasetDorn
Human2.82
Lines50

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett00–1; higher is more readable
46.0Δ 23.4
Scalabrino0.6360–1; higher is more readable
67.1Δ 44.5
Dorn0.7640–1; higher is more readable
72.7Δ 50.1
Mi0.6110–1; higher is more readable
64.6Δ 42.1
LLOC20Logical lines; fewer is more readable
32.5Δ 9.9
DeepSeek V4 Pro40–20; mean of three runs
7.4Δ 15.2
GPT-6.1 Sol120–20; mean of three runs
19.9Δ 2.6
BTTF0.5240–1; higher is more readable
51.8Δ 29.2
Human2.821–5; original rating
22.6

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)
Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones.1034.863−34.15
Source linesThe number of non-empty source lines.50+20
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.799−7.199

Intercept 8.87 + feature contributions = -12.479 (log-odds).
Score = sigmoid(-12.479) = 0.

Score0.636

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.62.824+1.004
Indentation frequencyHow rapidly indentation changes from line to line.50+0.992
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.51−0.769
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.766+0.286
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.097−0.003

Intercept 0.07 + feature contributions = 1.174 (log-odds).
Score = sigmoid(1.174) = 0.764.

Score0.611
Score20
Run 1

This code snippet is difficult to read due to its tangled structure and lack of context. The excerpt begins mid-expression, making it impossible to understand the initial conditional logic. It features multiple nested try-catch blocks, many of which are empty, creating ambiguity about error handling and intent. The flow is disorganized—variables like 'file' are assigned in scattered blocks, and the use of 'instanceof' with a caught UnsupportedOperationException suggests fragile design. While some indentation exists, the deep nesting and abrupt method break reduce clarity. The code mixes concerns: file retrieval, fallback logic, generation, and cleanup are intertwined, making it hard to follow. Empty catch blocks hide potential issues, and the lack of comments or explanatory context further obscures purpose. Action granularity is moderate, but the overall readability suffers from unclear boundaries and tangled control flow, earning a low score.

Run 2

The code is largely unreadable. It begins mid-block, making structure unclear. Nesting is deep with multiple if, try-catch, and logic layers, making flow hard to follow. Empty catch blocks hide errors and obscure intent. Purpose is ambiguous—variable names like 'file' and 'previewTempFile' give some hints, but the overall logic is tangled. Length is not the main issue; the disorganization is. Action granularity is mixed, with multiple operations inside conditions. Reading flow is broken due to the missing opening context and abrupt returns. Overall, it requires significant effort to understand.

Run 3

This code snippet is difficult to read due to several critical issues. The structure is fragmented and lacks context, with missing opening braces and unclear control flow. Nesting is deep, with multiple conditional blocks and try-catch statements creating convoluted logic paths. The intent is ambiguous - several empty catch blocks silently swallow exceptions, and the relationship between Xuggler settings, audio processing, and preview generation is unclear. Variable names like 'audioTempFile' and 'previewTempFile' appear without declaration context. Action granularity is mixed, with some lines containing multiple operations while others are formatted inconsistently. The reading flow is severely disrupted by misaligned indentation and incomplete code blocks. Empty catch blocks without comments or logging represent poor error handling practice. The method boundaries are unclear, making it difficult to understand where one logical unit ends and another begins. Overall, this code requires significant mental effort to understand its purpose and flow, indicating very low readability.

Run 1

Code Structure: Preview generation, fallback file retrieval, and cleanup are logically grouped, but the incomplete opening condition and trailing method declaration obscure the overall structure. Nesting: Several nested conditionals and try/catch blocks increase reading effort. Clarity of intent: Descriptive method and variable names explain most operations, while empty exception handlers leave failure-handling intent unclear. Code length: Mostly concise, though wrapping and boilerplate make the short workflow appear longer. Action granularity: Statements generally perform one action each, with retrieval, writing, generation, and deletion clearly separated. Reading flow: The fallback from a native file to a temporary file is natural, and finally centralizes cleanup; however, missing surrounding context, heavy indentation, and silently swallowed exceptions interrupt comprehension.

Run 2

Code Structure: Preview generation, temporary-file fallback, and cleanup are logically grouped, but the excerpt begins mid-condition and ends with an incomplete method declaration. Nesting: Several nested conditionals and try/catch blocks make the main path harder to follow. Clarity of intent: Descriptive method and variable names communicate audio-preview generation, while empty catch blocks leave exception-handling intent unclear. Code length: Mostly concise, though wrapping and boilerplate add visual length. Action granularity: Statements generally perform one action each, making individual operations easy to identify. Reading flow: The sequence from obtaining a file to generating a preview and cleaning up is natural, but deep indentation and missing surrounding context interrupt readability.

Run 3

Code Structure: Preview generation, fallback file retrieval, and cleanup are logically grouped, but the truncated opening and incomplete method declaration obscure the surrounding structure. Nesting: Several nested conditionals and try/catch blocks increase reading effort. Clarity of intent: Descriptive method and variable names communicate audio-preview generation, although empty catch blocks leave exception-handling intent unclear. Code length: The visible logic is reasonably concise, with some verbosity from casting and exception handling. Action granularity: Statements generally perform one action each, making individual operations easy to follow. Reading flow: The retrieval-to-generation-to-cleanup sequence is natural, but heavy indentation, wrapped expressions, silent catches, and fragment boundaries interrupt comprehension.