Sample
Dorn/java/217
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0.036 | 0–1; higher is more readable | 70.8Δ 34.8 |
| Dorn | 0.444 | 0–1; higher is more readable | 38.2Δ 2.2 |
| Mi | 0.658 | 0–1; higher is more readable | 74.1Δ 38.2 |
| LLOC | 14 | Logical lines; fewer is more readable | 49.0Δ 13.1 |
| DeepSeek V4 Pro | 8 | 0–20; mean of three runs | 29.4Δ 6.5 |
| GPT-6.1 Sol | 9.67 | 0–20; mean of three runs | 8.8Δ 27.2 |
| BTTF | 0.493 | 0–1; higher is more readable | 43.5Δ 7.5 |
| Human | 3.1 | 1–5; original rating | 35.9 |
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) |
|---|---|---|
| Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones. | 517.662 | −17.083 |
| Source linesThe number of non-empty source lines. | 30 | +12 |
| 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.715 | −7.072 |
Intercept 8.87 + feature contributions = -3.285 (log-odds).
Score = sigmoid(-3.285) = 0.036.
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. | 61.935 | +1.042 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 0 | −0.804 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 29 | −0.245 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.12 | −0.22 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 31 | −0.061 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 21 | −0.011 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 29.683 | +0.005 |
Intercept 0.07 + feature contributions = -0.224 (log-odds).
Score = sigmoid(-0.224) = 0.444.
| Score | 0.658 |
|---|
| Score | 14 |
|---|
Run 1
The code suffers from several readability issues. The structure is tangled — a switch case label (`case 3:`) appears after a conditional block without clear separation from the preceding `if`, making the flow confusing. The use of `label` variable (likely for control flow) adds ambiguity. The infinite loop with a timeout check inside (`if (second >= 90)`) is a non-standard pattern that reduces clarity; a bounded loop or explicit timeout mechanism would be better. Nesting is moderate but the try-catch with an empty catch block hides potential errors. Action granularity is mixed — some lines combine actions (e.g., `selenium.clickAt` with arguments), while the timeout check and fail are on separate lines. Reading flow is disrupted by the abrupt transition from `if (!advancedVisible)` to `case 3:`, suggesting code likely extracted from a switch statement without proper context. The hardcoded sleep and timeout values reduce maintainability.
Run 2
The code has significant readability issues. The structure is fragmented - it appears to be an excerpt from a switch statement, missing context like the switch declaration and case labels. It contains a misleading comment ('case 3:' as a comment rather than actual syntax), unused variables ('label'), and an empty catch block that swallows exceptions silently. The nested loop with an infinite for-loop and timeout check is a common but awkward pattern. Indentation is inconsistent and excessive. The mix of UI automation code with hardcoded selectors and magic numbers (90, 3) reduces clarity. However, some elements are readable - variable names like 'advancedVisible' are descriptive, and the timeout logic, while verbose, follows a recognizable pattern. The code lacks surrounding context, making it difficult to understand the overall flow. Action granularity is mixed, with multiple operations scattered across lines.
Run 3
The code suffers from poor readability due to several issues. A switch case structure appears incomplete, with case 3 starting mid-logic but no visible preceding case or switch statement. The code is deeply nested with an infinite loop containing conditional checks, exception handling, and a sleep call. The timeout pattern using a counter within an infinite loop is unconventional and unclear. Multiple actions are performed per line in some areas, reducing clarity. The use of magic numbers (90, 1000, 3) without explanation obscures intent. Exception handling is empty, hiding potential issues. While the code does have logical separation for visibility checks and click actions, the overall flow is disorganized and lacks clear structure. The indentation is inconsistent, and the lack of context for the switch statement, label variable, and continue statement makes the code difficult to follow.
Run 1
Code Structure: Visibility checking and waiting are grouped logically, but the isolated case label and label-based continuation obscure the surrounding control flow. Nesting: The polling loop contains a try block and nested condition, creating moderate nesting. Clarity of intent: Checking for an Advanced link and waiting for a status selector are understandable, but label = 3, magic values, and silently ignored exceptions make behavior less explicit. Code length: Fairly concise, though excessive whitespace and line wrapping interrupt readability. Action granularity: Most statements perform one action per line, making individual operations easy to scan. Reading flow: The transition from continue to clicking and then case 3 is abrupt; missing surrounding context and the open-ended polling loop require extra effort to follow.
Run 2
Code Structure: The visibility check and polling loop are locally organized, but label reassignment, continue, and an isolated case label make the broader control flow difficult to follow. Nesting: Moderate nesting in the loop, try block, and visibility condition adds complexity. Clarity of intent: Waiting for a status selector is understandable, but the meaning of label = 3, the empty catch block, and hard-coded selectors is unclear without context. Code length: Fairly concise, although excessive whitespace and split statements make the snippet visually fragmented. Action granularity: Most lines perform one action, which aids readability. Reading flow: The transition from clicking Advanced to case 3 is abrupt, and the unusual infinite-loop syntax requires extra attention.
Run 3
Code Structure: Visibility checks and waiting are recognizable blocks, but label reassignment, continue, and a disconnected case label obscure control flow. Nesting: The polling loop contains a try block and nested condition, adding moderate complexity. Clarity of intent: Opening Advanced and waiting for a status selector are understandable, but the magic label value, empty exception handler, and generic timeout message hide important context. Code length: Fairly concise, although excessive whitespace and a manual polling loop reduce compactness. Action granularity: Most statements perform one action, making individual operations easy to follow. Reading flow: Abrupt switching between labeled control flow and polling interrupts the sequence; uneven indentation and missing surrounding switch context further hinder readability.