Sample
Dorn/java/160
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 1 | 0–1; higher is more readable | 99.7Δ 10.9 |
| Dorn | 0.938 | 0–1; higher is more readable | 97.2Δ 8.4 |
| Mi | 0.513 | 0–1; higher is more readable | 54.0Δ 34.8 |
| LLOC | 1 | Logical lines; fewer is more readable | 97.9Δ 9.1 |
| DeepSeek V4 Pro | 11.67 | 0–20; mean of three runs | 51.4Δ 37.5 |
| GPT-6.1 Sol | 14.67 | 0–20; mean of three runs | 47.1Δ 41.8 |
| BTTF | 0.73 | 0–1; higher is more readable | 94.4Δ 5.6 |
| Human | 3.93 | 1–5; original rating | 88.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) |
|---|---|---|
| Source linesThe number of non-empty source lines. | 29 | +11.6 |
| 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.975 | −7.463 |
| Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones. | 53.774 | −1.775 |
Intercept 8.87 + feature contributions = 11.232 (log-odds).
Score = sigmoid(11.232) = 1.
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 1 | +1.001 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.006 | +0.881 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 7 | −0.495 |
| 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. | 75.933 | +0.449 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 75.833 | +0.419 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 1 | +0.398 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 28.974 | −0.005 |
Intercept 0.07 + feature contributions = 2.718 (log-odds).
Score = sigmoid(2.718) = 0.938.
| Score | 0.513 |
|---|
| Score | 1 |
|---|
Run 1
The code is readable as a basic interface declaration with clear licensing and Javadoc comments. It has good structure with package declaration and class-level documentation. However, the score is limited because the code is incomplete—it only shows an empty interface, making it difficult to fully assess criteria like nesting, action granularity, and reading flow. The excessive license header (20+ lines) adds unnecessary length before reaching the actual code. Clarity of intent is moderate since the interface name 'DownloadTypeIncomplete' is meaningful, but the purpose of this interface and any methods it should contain is not apparent from the snippet. The Javadoc mentions registering columns and menus, but no such methods are visible, creating ambiguity. The indentation and formatting appear consistent. Overall, it reads naturally for what little code exists, but the empty interface and verbose header prevent a higher readability score.
Run 2
The code is a very short Java interface declaration, so many criteria (nesting, action granularity) barely apply. The structure is clean: package statement, imports, Javadoc, and interface are correctly ordered. Clarity of intent is moderate — the interface name 'DownloadTypeIncomplete' is somewhat opaque without additional context or documentation explaining its purpose. The Javadoc is minimal and does not clarify the interface's role. Code length is appropriate and concise. Reading flow is natural for a Java file. However, the large license header (20+ lines) dominates the file and slightly reduces readability, especially since the actual code is only a few lines. Overall, it is readable but lacks meaningful documentation that would make its intent immediately clear.
Run 3
The code consists solely of a lengthy license header (40+ lines) followed by package/import declarations and an empty interface definition. The license comments drastically reduce readability by burying the actual code, violating conciseness and reading flow. The interface itself has no methods or fields, making its purpose entirely ambiguous despite the Javadoc suggesting it relates to registering columns/menus. Structure is minimal but obscured by boilerplate. Nesting is flat (good), and there are no action granularity or clarity-of-intent issues within actual code because there is no executable logic. However, the overwhelming license text and lack of any meaningful content make this nearly unreadable as a standalone snippet. It would score higher if the license were shortened or moved to a separate file.
Run 1
1. Code Structure: Package declaration, documentation, and interface declaration follow a logical Java layout, but the missing closing brace leaves the snippet incomplete. 2. Nesting: No nested logic, making it easy to scan. 3. Clarity of intent: The interface name suggests incomplete downloads, while the brief documentation indicates datasource registration; their relationship is not fully explained. 4. Code length: The declaration is concise, though the license header dominates this small snippet. 5. Action granularity: Each declaration occupies its own line; no actions are combined. 6. Reading flow: Conventional ordering supports natural reading, but excess blank lines and the abrupt ending interrupt the flow.
Run 2
Code Structure: The package declaration and interface documentation are logically organized, but the interface lacks a closing brace, making the snippet incomplete. Nesting: There is no meaningful nesting, so complexity is minimal. Clarity of intent: The interface name and comment suggest a marker type for incomplete-download UI data sources, but its intended role is not explained precisely. Code length: The declaration is concise; the lengthy license header dominates the snippet without helping explain behavior. Action granularity: Each declaration occupies its own line, with no combined actions. Reading flow: The conventional header–package–documentation–interface sequence is easy to follow, though trailing blank lines and the unfinished declaration disrupt the ending.
Run 3
Code Structure: The package declaration and interface documentation are logically organized, but the missing closing brace leaves the snippet incomplete. Nesting: There is no deep nesting. Clarity of intent: The interface name indicates incomplete downloads, and the comment describes its registration purpose, though the empty body does not clarify its specific role. Code length: The actual declaration is concise; the lengthy license header dominates the snippet but is conventional boilerplate. Action granularity: Each declaration occupies its own line, with no combined actions. Reading flow: The header-to-package-to-interface sequence is natural, though excess blank lines and the unfinished interface interrupt the flow.