Sample
Dorn/java/124
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0.871 | 0–1; higher is more readable | 87.7Δ 57.1 |
| Dorn | 0.64 | 0–1; higher is more readable | 56.0Δ 25.3 |
| Mi | 0.576 | 0–1; higher is more readable | 60.7Δ 30.1 |
| LLOC | 3 | Logical lines; fewer is more readable | 88.6Δ 57.9 |
| DeepSeek V4 Pro | 7.33 | 0–20; mean of three runs | 24.8Δ 5.8 |
| GPT-6.1 Sol | 9 | 0–20; mean of three runs | 6.4Δ 24.2 |
| BTTF | 0.661 | 0–1; higher is more readable | 86.9Δ 56.3 |
| Human | 3.01 | 1–5; original rating | 30.6 |
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) |
|---|---|---|
| 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.699 | −7.048 |
| Source linesThe number of non-empty source lines. | 10 | +4 |
| Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones. | 118.536 | −3.912 |
Intercept 8.87 + feature contributions = 1.911 (log-odds).
Score = sigmoid(1.911) = 0.871.
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. | 55 | +1.336 |
| 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. | 11 | +0.647 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 9 | −0.426 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 9.804 | −0.273 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 9 | +0.214 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.116 | −0.187 |
Intercept 0.07 + feature contributions = 0.577 (log-odds).
Score = sigmoid(0.577) = 0.64.
| Score | 0.576 |
|---|
| Score | 3 |
|---|
Run 1
The code snippet is severely lacking in context and readability. The structure is tangled due to a dangling opening brace and an empty catch block that hides exceptions. The nesting appears deep (multiple tabs and control flow), although incomplete code makes this unclear. Intent is ambiguous because the XPath selector is cryptic and the loop logic is broken by an unexplained `break`. The code length is not concise relative to its unclear purpose. Multiple actions (visibility check, break, exception swallowing, sleep) occur in few lines but without clear intent. The reading flow is disorganized and unnatural. Overall, the snippet is nearly unreadable without surrounding code and proper error handling.
Run 2
The code snippet is difficult to read due to poor structure and lack of context. It begins mid-block with excessive indentation, suggesting deep nesting or misplaced code. The try-catch block swallows exceptions silently, hiding potential issues and making intent unclear. The XPath selector is long and unformatted, further reducing clarity. Thread.sleep(1000) is a magic number with no explanation, adding ambiguity. Multiple actions are crammed into the condition without helper variables or comments, and the break statement is nested inside a conditional, obscuring control flow. Overall, the fragment lacks logical organization, clear purpose, and readable formatting.
Run 3
The code snippet shows a reasonable structure with a clear intent: to break out of a loop when an element becomes visible. However, readability is hindered by ambiguous exception handling, where an empty catch block silently swallows errors. The XPath locator inline with the visibility check increases cognitive load, and the action of checking visibility and breaking the loop is somewhat combined. The use of Thread.sleep(1000) without context or explanation reduces clarity. Nesting appears moderate, but the indentation suggests it is part of a larger, possibly complex method, making it harder to follow. The code is concise, though not overly explanatory.
Run 1
Code Structure: The visibility check and break are straightforward, but unmatched surrounding braces and missing loop/try context make the snippet's organization difficult to follow. Nesting: The visible conditional is shallow, although heavy indentation implies additional nesting. Clarity of intent: It appears to poll for an editor iframe, but the empty catch silently ignores failures, and the hard-coded locator provides little context. Code length: The snippet is concise, though its fragmented context limits readability. Action granularity: Statements generally perform one action each; the split visibility call is still easy to identify. Reading flow: Checking visibility, exiting, and waiting form a recognizable polling sequence, but inconsistent indentation, an empty exception handler, and omitted enclosing code disrupt the flow.
Run 2
Code Structure: The visible fragment follows a recognizable retry/polling pattern, but missing surrounding loop and try statements obscure its organization. Nesting: Several indentation levels and closing braces make the fragment harder to follow. Clarity of intent: Checking iframe visibility and breaking is understandable, but the empty exception handler silently hides failures, and the hard-coded XPath lacks context. Code length: The fragment is concise, though splitting the visibility check across lines adds little value. Action granularity: Each statement performs one action, which helps readability. Reading flow: The visibility check, exception handling, and delay form a plausible sequence, but incomplete context, heavy indentation, and unexplained exception suppression interrupt the flow.
Run 3
Code Structure: The visible fragment has a simple visibility check and exit, but missing surrounding loop and try context obscure its organization. Nesting: Several indentation levels make this short snippet appear deeply nested. Clarity of intent: Checking an iframe and pausing suggest polling, but the hard-coded XPath, unexplained delay, and empty exception handler leave important behavior unclear. Code length: Concise, though the split method call adds visual overhead. Action granularity: Each statement performs one action, making individual operations easy to distinguish. Reading flow: The check, break, catch, and sleep suggest a logical sequence, but unmatched contextual braces and silently ignored exceptions interrupt understanding.