Sample
Dorn/java/116
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0 | 0–1; higher is more readable | 31.8Δ 6.7 |
| Scalabrino | 0.665 | 0–1; higher is more readable | 70.9Δ 32.5 |
| Dorn | 0.663 | 0–1; higher is more readable | 61.0Δ 22.6 |
| Mi | 0.484 | 0–1; higher is more readable | 50.7Δ 12.3 |
| LLOC | 25 | Logical lines; fewer is more readable | 21.4Δ 17.0 |
| DeepSeek V4 Pro | 15 | 0–20; mean of three runs | 77.3Δ 38.9 |
| GPT-6.1 Sol | 15.67 | 0–20; mean of three runs | 61.6Δ 23.1 |
| BTTF | 0.524 | 0–1; higher is more readable | 51.5Δ 13.1 |
| Human | 3.13 | 1–5; original rating | 38.4 |
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) |
|---|---|---|
| Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones. | 1324.009 | −43.692 |
| Source linesThe number of non-empty source lines. | 50 | +20 |
| 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.989 | −7.484 |
Intercept 8.87 + feature contributions = -22.306 (log-odds).
Score = sigmoid(-22.306) = 0.
| Score | 0.665 |
|---|
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Indentation frequencyHow rapidly indentation changes from line to line. | 47 | +0.889 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 0 | −0.804 |
| 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. | 69.588 | +0.718 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 47 | −0.628 |
| 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. | 49.292 | +0.279 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.122 | −0.246 |
Intercept 0.07 + feature contributions = 0.675 (log-odds).
Score = sigmoid(0.675) = 0.663.
| Score | 0.484 |
|---|
| Score | 25 |
|---|
Run 1
The code is generally readable and follows a consistent pattern. Each method has a clear purpose, with flat conditional checks and one action per line. The repeated null/enabled guard clause, while verbose, improves clarity by making the failure mode explicit. However, the duplication of the logging and return logic across three methods is a maintainability concern and slightly reduces readability due to repetition. The structure is logical, but extracting the guard check into a helper method would improve conciseness. Nesting is minimal (two levels), and the reading flow is natural. The first method (returning an Address) appears fragmented without its opening context, which slightly impacts comprehension.
Run 2
The code is highly readable with clear logical organization and consistent structure. Each method follows a predictable pattern: validation check, warning log entry, and return value. Nesting is shallow, limited to two levels maximum. The intent of each method is clear from its name and the code reads naturally from top to bottom. Action granularity is well-maintained with one logical operation per line. The repetitive null check and warning pattern could be extracted to a helper method to reduce duplication, which would improve conciseness, but this is a minor suggestion rather than a significant readability issue. The incomplete final method (sendMulticastMessage) appears cut off, but the visible portion maintains the same readable pattern. Overall, this is production-quality code that is easy to follow and understand.
Run 3
The code is moderately readable. It has clear intent and consistent structure, with flat nesting and one action per line. However, significant duplication of the null/disabled check across multiple methods increases length and reduces maintainability. The reading flow is natural, but the repetitive warning blocks interrupt the logical flow. Some methods are concise while others are needlessly long due to repeated validation logic. The first line appears disconnected from the rest, suggesting a larger context is missing. Overall, the code is understandable but would benefit from extracting the repeated initialization check into a helper method to reduce duplication and improve clarity.
Run 1
Code Structure: Small, logically separated methods are well organized, though initialization checks and warnings are duplicated. Nesting: Shallow nesting and early returns keep control flow easy to follow. Clarity of intent: Descriptive method names clearly convey address retrieval, link access, and message flag inspection; the multicast method is incomplete. Code length: Individual methods are concise, but repeated guard logic adds unnecessary length. Action granularity: Statements generally perform one action per line, with no compressed multi-action sequences. Reading flow: Consistent formatting, whitespace, and predictable guard-then-return patterns support natural reading. However, the snippet starts and ends mid-method, limiting understanding of its surrounding context.
Run 2
Code Structure: Methods are logically separated, but the snippet begins and ends mid-method, limiting context. Nesting: Mostly flat, with early returns and only two levels of conditional nesting. Clarity of intent: Descriptive method names and straightforward checks make behavior clear; underscore-prefixed fields are consistent. Code length: Individual methods are concise, although repeated initialization checks and warning blocks add avoidable duplication. Action granularity: Each statement performs one clear action, with no dense multi-action lines. Reading flow: Consistent indentation, spacing, and similar method patterns support easy scanning, but the incomplete boundaries interrupt the overall flow.
Run 3
Code Structure: Methods are logically separated, but the snippet begins and ends mid-method, limiting structural completeness. Nesting: Shallow conditionals and early returns keep control flow simple; nested logging checks add minor complexity. Clarity of intent: Descriptive method names and straightforward delegation clearly convey purpose. Code length: Individual methods are concise, though repeated initialization checks and warnings add unnecessary duplication. Action granularity: Each statement performs one clear action, with no crowded multi-action lines. Reading flow: Consistent formatting and predictable guard-then-return patterns make scanning easy, although repetition and the truncated boundaries interrupt the overall flow.