Sample
Dorn/java/215
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0 | 0–1; higher is more readable | 53.8Δ 14.8 |
| Scalabrino | 0.689 | 0–1; higher is more readable | 74.4Δ 35.4 |
| Dorn | 0.262 | 0–1; higher is more readable | 21.7Δ 17.3 |
| Mi | 0.194 | 0–1; higher is more readable | 19.8Δ 19.2 |
| LLOC | 15 | Logical lines; fewer is more readable | 46.5Δ 7.5 |
| DeepSeek V4 Pro | 5 | 0–20; mean of three runs | 10.9Δ 28.1 |
| GPT-6.1 Sol | 10 | 0–20; mean of three runs | 10.2Δ 28.8 |
| BTTF | 0.502 | 0–1; higher is more readable | 46.0Δ 7.0 |
| Human | 3.15 | 1–5; original rating | 39.0 |
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. | 668.351 | −22.056 |
| 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.987 | −7.48 |
Intercept 8.87 + feature contributions = -8.665 (log-odds).
Score = sigmoid(-8.665) = 0.
| Score | 0.689 |
|---|
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| 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 |
| 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. | 71 | +0.658 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 27 | −0.199 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 31 | −0.061 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 29.792 | +0.007 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.097 | −0.002 |
Intercept 0.07 + feature contributions = -1.034 (log-odds).
Score = sigmoid(-1.034) = 0.262.
| Score | 0.194 |
|---|
| Score | 15 |
|---|
Run 1
The code is difficult to read due to disorganized structure, inconsistent indentation, and unclear intent. The `for` loop uses a hardcoded 90-second timeout with ambiguous 'second >= 90' logic, and the empty catch block hides errors. Action granularity is inconsistent: some lines contain multiple actions while others are fragmented. Deeply nested Selenium locators reduce clarity, and the flow jumps from looping to assertions to actions without transitions. The dangling `case 3:` and preceding blank lines suggest incomplete or poorly structured code. Overall, the snippet lacks logical organization and natural reading flow, making it hard to understand or maintain.
Run 2
The code has several readability issues. The structure begins with an unexplained method call and includes a polling loop with a magic number (90) and an empty catch block that hides exceptions. Nesting is moderate but the try-catch inside the loop adds confusion. Intent is unclear—the code waits for an element to become visible, but the condition is inverted and the loop structure obscures the purpose. Code length is reasonable but action granularity is mixed; some lines combine operations while others are fragmented. The reading flow is disjointed due to inconsistent indentation and a dangling 'case 3:' that appears orphaned. Hardcoded XPath strings and magic numbers reduce maintainability. The lack of comments explaining the timeout logic and exception swallowing further hurts clarity.
Run 3
The code is difficult to read due to several factors. The structure is tangled, with a misplaced method call at the top, an infinite loop with unclear timeout logic, and a switch case that appears mid-method. Nesting is moderate but the empty catch block hides exceptions and disrupts the flow. Intent is ambiguous, especially with hardcoded XPath locators and runtime variable replacements scattered throughout. The code is unnecessarily long due to repetitive XPath strings and verbose method chaining. Multiple actions are sometimes on single lines (e.g., the assertEquals spanning several lines with nested calls), but the biggest issue is reading flow: the code jumps from timeout loop to assertions to a case statement without clear separation. The loop pattern is fragile and non-idiomatic, making it hard to understand the purpose. Overall, this code would benefit from extraction of constants, helper methods, and clearer control flow.
Run 1
Code Structure: The polling loop and subsequent deletion checks form a logical sequence, but the fragment starts mid-statement and ends at a case label, obscuring its surrounding organization. Nesting: Moderate nesting within the loop, try block, and visibility check makes the wait logic harder to scan. Clarity of intent: Waiting for and clicking Delete is understandable, but the positional XPath, hard-coded timeout, and silently ignored exceptions reduce clarity. Code length: Reasonably short, though repeated XPath strings and manual polling add verbosity. Action granularity: Most statements perform one action, with assertions and Selenium operations separated clearly. Reading flow: Execution proceeds naturally from waiting to verification, clicking, and confirmation, but uneven indentation, lengthy wrapped expressions, and incomplete boundaries interrupt readability.
Run 2
Code Structure: The sequence of waiting, checking text, clicking, and confirming is logical, but the fragment starts mid-statement and ends at a case label, obscuring its surrounding structure. Nesting: The loop contains a try block and conditional, creating moderate nesting. Clarity of intent: Deleting an item is recognizable, but the positional XPath, hard-coded timeouts, and silently swallowed exceptions obscure details. Code length: Relatively short, though repeating the long XPath adds avoidable verbosity. Action granularity: Most statements perform one action, making individual operations easy to identify. Reading flow: The procedural sequence is natural, but inconsistent indentation, awkward line wrapping, and incomplete context interrupt readability.
Run 3
Code Structure: The polling, verification, click, and confirmation sequence is logically organized, but the fragment starts mid-statement and ends at a case label, obscuring surrounding control flow. Nesting: The loop contains moderately nested timeout and visibility checks plus a try/catch. Clarity of intent: Deleting an item is recognizable, but the positional XPath, magic timeout values, and silently swallowed exceptions reduce clarity. Code length: The snippet is fairly short, though repeating the long XPath adds unnecessary verbosity. Action granularity: Most statements perform one action, with reasonable separation between checks and interactions. Reading flow: The interaction sequence is natural, but inconsistent indentation, awkward line wrapping, and missing context interrupt readability.