Sample
Dorn/java/181
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0.814 | 0–1; higher is more readable | 86.4Δ 34.5 |
| Scalabrino | 0.742 | 0–1; higher is more readable | 81.4Δ 29.6 |
| Dorn | 0.857 | 0–1; higher is more readable | 87.2Δ 35.4 |
| Mi | 0.432 | 0–1; higher is more readable | 42.3Δ 9.5 |
| LLOC | 3 | Logical lines; fewer is more readable | 88.6Δ 36.8 |
| DeepSeek V4 Pro | 6.67 | 0–20; mean of three runs | 20.9Δ 30.9 |
| GPT-6.1 Sol | 14.67 | 0–20; mean of three runs | 47.1Δ 4.7 |
| BTTF | 0.556 | 0–1; higher is more readable | 62.4Δ 10.6 |
| Human | 3.35 | 1–5; original rating | 51.8 |
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. | 5.026 | −7.539 |
| 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. | 116.758 | −3.853 |
Intercept 8.87 + feature contributions = 1.478 (log-odds).
Score = sigmoid(1.478) = 0.814.
| Score | 0.742 |
|---|
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. | 63 | +0.997 |
| 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. | 8 | −0.46 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.058 | +0.381 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 9.781 | −0.273 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 9 | +0.214 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 63 | +0.212 |
Intercept 0.07 + feature contributions = 1.788 (log-odds).
Score = sigmoid(1.788) = 0.857.
| Score | 0.432 |
|---|
| Score | 3 |
|---|
Run 1
The code is short and has minimal nesting, but it lacks clarity and purpose. The constructor is essentially empty with commented-out code, which raises ambiguity about its intended functionality. The getIcon method is clear in intent but overuses line breaks, making it unnecessarily long and disrupting reading flow. Action granularity is partially maintained, but the method call is fragmented across multiple lines without clear necessity. Overall, the code appears incomplete and poorly structured, with a confusing constructor and inconsistent formatting.
Run 2
The code is syntactically simple but semantically unclear. The constructor is empty with commented-out code, indicating unfinished or legacy logic. The getIcon method is straightforward and has clear intent, but the class name and purpose are ambiguous without surrounding context. Nesting is minimal and reading flow is natural, but action granularity is low due to the commented line and lack of meaningful statements. Code length is concise, yet the presence of dead code and an unnecessary trailing closing brace reduce readability. Overall, the snippet is readable at a surface level but fails to convey intent or purpose effectively.
Run 3
The code is highly unreadable due to several critical issues. The structure is incomplete and confusing: the constructor is empty with commented-out logic that provides no value, and the class lacks opening braces and context, making it ambiguous. The intent is unclear because the constructor does nothing, and the commented line ('runtime = adaptableObject;') suggests unfinished or dead code. Nesting is minimal, which is positive, and line length is concise, but the overall clarity suffers from meaningless placeholder implementation and missing class definition. Action granularity is acceptable per line, but the reading flow is broken by the dangling closing brace and lack of surrounding class context. The method getIcon() is straightforward, but without the class header and field declarations, the code is difficult to evaluate. Overall, it reads like an incomplete fragment rather than purposeful, maintainable code.
Run 1
Code Structure: The constructor and icon accessor are logically separated, although the missing class declaration and trailing brace limit structural context. Nesting: The code is flat and easy to scan. Clarity of intent: getIcon clearly returns a plugin image descriptor, but the unused constructor parameter and commented-out assignment leave initialization intent unclear. Code length: The snippet is concise, though the inactive comment adds noise. Action granularity: Each statement performs a single action; wrapping the descriptor call improves readability. Reading flow: The methods follow naturally, but inconsistent spacing and the unexplained closing brace slightly disrupt the flow.
Run 2
Code Structure: The constructor and icon accessor are logically separated, though the missing class declaration and trailing brace make the snippet feel incomplete. Nesting: Minimal nesting makes it easy to scan. Clarity of intent: getIcon clearly returns a server icon, but the empty constructor, unused parameter, and commented-out assignment obscure initialization intent. Code length: Concise overall, with a redundant comment. Action granularity: Each statement performs a single action; splitting the method call across lines remains readable. Reading flow: Straightforward constructor-to-accessor flow, slightly disrupted by inconsistent spacing and the incomplete surrounding context.
Run 3
Code Structure: The constructor and icon getter are clearly separated, but the missing class declaration and trailing brace leave the snippet structurally incomplete. Nesting: Very shallow and easy to follow. Clarity of intent: getIcon clearly retrieves a plugin icon, while the empty constructor, unused parameter, and commented-out assignment obscure initialization intent. Code length: Concise, though the commented-out code adds unnecessary clutter. Action granularity: Each statement performs a single action; wrapping the return expression improves readability. Reading flow: Generally natural, but inconsistent spacing and indentation, plus the incomplete surrounding context, interrupt the flow.