Sample

Dorn/java/105

Human rating uses the original dataset scale.

DatasetDorn
Human3.54
Lines10

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett0.8710–1; higher is more readable
88.0Δ 20.6
Dorn0.6170–1; higher is more readable
53.2Δ 14.2
Mi0.690–1; higher is more readable
81.6Δ 14.2
LLOC4Logical lines; fewer is more readable
82.7Δ 15.3
DeepSeek V4 Pro50–20; mean of three runs
10.9Δ 56.5
GPT-6.1 Sol10.670–20; mean of three runs
13.2Δ 54.2
BTTF0.6670–1; higher is more readable
88.6Δ 21.2
Human3.541–5; original rating
67.4

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)
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.462−6.693
Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones.129.268−4.266
Source linesThe number of non-empty source lines.10+4

Intercept 8.87 + feature contributions = 1.912 (log-odds).
Score = sigmoid(1.912) = 0.871.

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.42+1.886
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.1−0.703
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.11+0.647
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.154−0.559
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.9.698−0.274
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.9+0.214

Intercept 0.07 + feature contributions = 0.477 (log-odds).
Score = sigmoid(0.477) = 0.617.

Score0.69
Score4
Run 1

The code is difficult to evaluate in isolation, but based on the snippet, it suffers from several readability issues. The structure is tangled: an empty catch block hides exceptions, making intent unclear. The try-catch inside a loop with a break condition on Selenium visibility is understandable but not explicit. Nesting is shallow, which is good, but clarity is poor due to the empty catch and lack of comments or logging. Code length is moderate but not concise because the empty catch block adds unnecessary noise. Action granularity is acceptable—one action per line mostly. Reading flow is disorganized: the empty catch disrupts logical flow, and there is no indication of why exceptions are ignored or what loop this belongs to. Overall, the code is minimally readable but would benefit from exception handling, comments, or a clearer loop condition.

Run 2

The code is nearly unreadable due to a complete lack of context, structure, and intent. It uses a deeply nested try-catch with an empty exception handler, which hides critical failure information. The purpose of checking visibility of '//section' is ambiguous, and the magic number '1000' in Thread.sleep is unexplained. The snippet begins mid-loop with a break statement, making it impossible to follow the logic without surrounding code. Exception swallowing (catch with empty body) is a severe anti-pattern that degrades maintainability. The code has minimal length but poor action granularity and no comments. The reading flow is disjointed, and the absence of any meaningful error handling or variable abstraction worsens clarity. Overall, this is a classic example of tangled, opaque code that fails nearly all readability criteria.

Run 3

The code snippet is difficult to evaluate in isolation but shows several readability problems. The empty catch block silently swallows exceptions, hiding potential errors and making intent unclear. The try-catch structure is nested unnecessarily around a simple visibility check, adding complexity without clarity. The logic appears to be part of a polling loop, but the loop start is missing, making the context ambiguous. The constant string selector `"//section"` is a magic value with no explanation. Thread.sleep(1000) adds a hard-coded delay with no comment about why waiting is needed. The break statement's target loop is not visible, so the control flow is unclear. Overall, the code lacks comments, uses poor exception handling, and has unclear structure, making it hard to understand at a glance.

Run 1

Code Structure: The try/catch and visibility check are logically grouped, but the missing loop context and unmatched closing brace make the snippet incomplete. Nesting: The conditional inside the try block adds modest, manageable nesting. Clarity of intent: Checking section visibility and breaking suggests a polling loop, but the broad, empty exception handler hides failures and leaves its purpose unclear. Code length: The snippet is concise, with little unnecessary code. Action granularity: Each statement performs one action, making individual operations easy to follow. Reading flow: The check-then-wait sequence is natural, but unexplained exception suppression, a hard-coded delay, and missing surrounding context interrupt understanding.

Run 2

Code Structure: The try/catch and visibility check are locally organized, but the fragment starts and ends inside an unseen loop, limiting structural clarity. Nesting: Moderate nesting adds some indentation but remains easy to follow. Clarity of intent: It appears to poll for a visible section, yet the empty catch silently suppresses exceptions, and the broad selector leaves the target ambiguous. Code length: Concise, with little unnecessary code. Action granularity: Each statement performs one action. Reading flow: The check, conditional break, and sleep suggest a natural polling sequence, but missing loop context and unexplained exception handling interrupt understanding.

Run 3

Code Structure: The try/catch and visibility check are locally organized, but the missing enclosing loop makes the snippet incomplete. Nesting: The nesting is shallow and easy to follow. Clarity of intent: Checking visibility, breaking, and sleeping suggest polling, but the generic selector and silently ignored exception obscure intent and failure handling. Code length: The snippet is concise without unnecessary statements. Action granularity: Each statement performs one action, making individual steps easy to read. Reading flow: The check followed by a delay is natural for polling, but unexplained indentation, an unmatched closing brace, and the empty catch interrupt comprehension.