Sample
Dorn/java/136
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 1 | 0–1; higher is more readable | 98.9Δ 3.9 |
| Scalabrino | 0.864 | 0–1; higher is more readable | 93.4Δ 1.6 |
| Dorn | 0.862 | 0–1; higher is more readable | 88.9Δ 6.1 |
| Mi | 0.715 | 0–1; higher is more readable | 87.2Δ 7.8 |
| LLOC | 12 | Logical lines; fewer is more readable | 53.6Δ 41.4 |
| DeepSeek V4 Pro | 14.67 | 0–20; mean of three runs | 74.1Δ 20.9 |
| GPT-6.1 Sol | 18 | 0–20; mean of three runs | 93.5Δ 1.5 |
| BTTF | 0.716 | 0–1; higher is more readable | 93.6Δ 1.4 |
| Human | 4.13 | 1–5; original rating | 95.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) |
|---|---|---|
| Source linesThe number of non-empty source lines. | 50 | +20 |
| Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones. | 357.577 | −11.8 |
| 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.55 | −6.825 |
Intercept 8.87 + feature contributions = 10.245 (log-odds).
Score = sigmoid(10.245) = 1.
| Score | 0.864 |
|---|
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. | 47 | −0.628 |
| 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.902 | +0.62 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.035 | +0.603 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 1 | +0.398 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 71.941 | +0.356 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 49.479 | +0.282 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 25 | +0.128 |
Intercept 0.07 + feature contributions = 1.829 (log-odds).
Score = sigmoid(1.829) = 0.862.
| Score | 0.715 |
|---|
| Score | 12 |
|---|
Run 1
The code is highly structured with consistent getter/setter patterns and Javadoc comments, making each method's purpose clear. It is flat with no nesting and each line performs a single action. However, the repetitive boilerplate nature makes it unnecessarily long and reduces reading flow. While it follows conventions, the lack of context and excessive repetition for simple property accessors detracts from overall readability.
Run 2
The code is highly readable due to its consistent structure and clear naming conventions. It follows a straightforward getter/setter pattern with Javadoc comments, making intent obvious. There is minimal nesting, with each method performing a single action. The code is concise and each line represents one logical operation, aiding in reading flow. However, repetitive boilerplate slightly reduces efficiency, and the Javadoc adds some verbosity without adding substantive information beyond the method names. Overall, the code is well-organized and easy to understand.
Run 3
The code is straightforward and follows a consistent pattern of getter/setter methods with clear Javadoc comments. Each method performs a single action, and the code is flat with minimal nesting. However, readability is reduced by excessive verbosity: the Javadoc is repetitive and largely redundant, and the method bodies are trivial. The structure is logical but appears as a long monotonous sequence of similar accessors, which makes the reading flow tedious. Clarity of intent is high due to the explicit naming and comments, but code length is unnecessarily long for what is accomplished. Action granularity is good, but the overall presentation could be more concise.
Run 1
Code Structure: Getter/setter pairs are logically grouped by dependency, with consistent formatting. Nesting: Methods are flat and contain no nested control flow. Clarity of intent: Descriptive method and parameter names make retrieval and assignment explicit; documentation distinguishes local and remote services. Code length: Implementations are concise, although repetitive Javadoc adds length without much additional information. Action granularity: Each statement performs a single action on its own line. Reading flow: The repeated getter-then-setter pattern is predictable and easy to scan. The initial orphaned comment terminator slightly disrupts readability because the snippet starts mid-comment.
Run 2
Code Structure: Related getters and setters are logically paired and consistently organized. Nesting: Methods are flat, with no nested control flow. Clarity of intent: Descriptive method names, types, and parameters make the accessors' purposes clear. Code length: Method bodies are minimal, but repetitive Javadoc adds unnecessary length for straightforward operations. Action granularity: Each statement performs a single action on its own line. Reading flow: Consistent formatting and predictable accessor patterns make the code easy to scan; the wrapped setter signature is readable. The leading orphaned comment terminator slightly disrupts the snippet's presentation.
Run 3
Code Structure: Accessors are logically grouped into getter/setter pairs. Nesting: Methods are flat, with no nested control flow. Clarity of intent: Descriptive method names, parameter names, and types make each operation obvious; comments distinguish local and remote services. Code length: Implementations are concise, although repetitive Javadoc adds length without much additional information. Action granularity: Each statement performs one clear action on its own line. Reading flow: Consistent formatting and ordering make the code easy to scan, though the initial orphaned comment terminator slightly disrupts the excerpt.