Sample
Dorn/java/143
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0.89 | 0–1; higher is more readable | 88.6Δ 68.0 |
| Dorn | 0.651 | 0–1; higher is more readable | 58.5Δ 37.9 |
| Mi | 0.585 | 0–1; higher is more readable | 62.4Δ 41.8 |
| LLOC | 3 | Logical lines; fewer is more readable | 88.6Δ 68.0 |
| DeepSeek V4 Pro | 5.33 | 0–20; mean of three runs | 12.8Δ 7.8 |
| GPT-6.1 Sol | 9.33 | 0–20; mean of three runs | 7.8Δ 12.8 |
| BTTF | 0.663 | 0–1; higher is more readable | 87.5Δ 66.9 |
| Human | 2.78 | 1–5; original rating | 20.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.581 | −6.872 |
| 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 = 2.086 (log-odds).
Score = sigmoid(2.086) = 0.89.
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. | 54 | +1.378 |
| 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. | 10 | −0.391 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 9.8 | −0.273 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.117 | −0.194 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 10 | +0.191 |
Intercept 0.07 + feature contributions = 0.624 (log-odds).
Score = sigmoid(0.624) = 0.651.
| Score | 0.585 |
|---|
| Score | 3 |
|---|
Run 1
The code snippet is difficult to evaluate in isolation, but several issues are evident. The structure is tangled: the if statement is deeply indented, and the overall control flow (likely inside a loop and try-catch) is unclear without surrounding context. The catch block is completely empty, making error handling ambiguous and swallowing exceptions silently, which obscures intent. The action granularity is poor—multiple indentation levels and a sleep call suggest a busy-wait loop, but the purpose of the sleep relative to the visibility check is not clear. Reading flow is unnatural due to excessive indentation and missing context. The code length is short, but the lack of comments or meaningful error handling reduces clarity. Overall, readability is severely limited by poor formatting, empty exception handling, and ambiguous intent.
Run 2
This code snippet is highly unreadable due to several issues. The structure is tangled, with inconsistent indentation that obscures the logical flow. The nesting appears deep, although the incomplete block makes it hard to assess fully. The intent is ambiguous: the condition checks for visibility of a link, but the surrounding loop and purpose are unclear. The empty catch block is a major clarity issue—it swallows exceptions silently, hiding potential failures. While the individual lines are concise, the overall length is not problematic. Action granularity is mixed; Thread.sleep(1000) is a single action, but the visibility check is split across multiple lines unnecessarily. The reading flow is disorganized, with inconsistent formatting and missing context, making it difficult to understand the loop's purpose, exit conditions, or error handling strategy.
Run 3
The code snippet is difficult to evaluate in isolation, but as presented it has several readability issues. The structure appears fragmented, beginning mid-loop with an if statement and unclosed braces, making the logical organization unclear. The nested method call inside the if condition adds minor nesting but the overall control flow is ambiguous without surrounding context. The intent is partially clear—wait for an element to be visible and break—but the empty catch block hides potential errors and obscures debugging. The code is concise but at the cost of clarity. Action granularity is mostly one action per line, which is good, but the reading flow is disrupted by the abrupt break and empty exception handler. The Thread.sleep with a magic number also reduces clarity. Overall, it lacks surrounding context and error handling, making it harder to follow than necessary.
Run 1
Code Structure: The visible logic is simple, but the snippet starts inside an unseen loop and try block, making its organization incomplete. Nesting: Indentation suggests several nesting levels, though the visible conditional is straightforward. Clarity of intent: The visibility check and break suggest polling until a permissions-page link appears, but the empty exception handler hides failures and provides no rationale. Code length: Concise, with little unnecessary code. Action granularity: Each statement performs one action; splitting the visibility check across lines is reasonable. Reading flow: Checking visibility before waiting is natural, but unmatched surrounding braces, deep indentation, and silent exception handling interrupt comprehension.
Run 2
Code Structure: The fragment suggests a polling loop, but missing surrounding code and an empty catch block obscure its organization. Nesting: The visible conditional is simple, though heavy indentation and omitted enclosing blocks make nesting harder to follow. Clarity of intent: Checking visibility and breaking suggests waiting for a permissions-page link, but silently ignored exceptions leave failure behavior unclear. Code length: The snippet is concise, with little unnecessary code. Action granularity: Each statement performs one action, supporting readability. Reading flow: The split method call, excessive indentation, and incomplete context interrupt flow, although the visibility check followed by a one-second delay is recognizable.
Run 3
Code Structure: The visibility check and retry delay suggest a polling loop, but missing surrounding code and an empty catch block weaken organization. Nesting: Several indentation levels and a wrapped condition add visual complexity to a small snippet. Clarity of intent: The link text makes the visibility target clear, but the loop context and reason for silently ignoring exceptions are unclear. Code length: Concise, although the condition spans more lines than necessary. Action granularity: Each statement performs one action, making individual operations easy to distinguish. Reading flow: The check, break, exception handling, and delay follow a plausible retry sequence, but unmatched surrounding braces and unexplained error suppression interrupt comprehension.