Sample
Buse/25
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0 | 0–1; higher is more readable | 1.0Δ 2.0 |
| Scalabrino | 0.348 | 0–1; higher is more readable | 4.5Δ 1.5 |
| Dorn | 0.123 | 0–1; higher is more readable | 3.0Δ 0.0 |
| Mi | 0.024 | 0–1; higher is more readable | 2.0Δ 1.0 |
| LLOC | 5 | Logical lines; fewer is more readable | 29.8Δ 26.8 |
| DeepSeek V4 Pro | 9.67 | 0–20; mean of three runs | 13.1Δ 10.1 |
| GPT-6.1 Sol | 12 | 0–20; mean of three runs | 11.1Δ 8.1 |
| BTTF | 0.149 | 0–1; higher is more readable | 1.0Δ 2.0 |
| Human | 2.1 | 1–5; original rating | 3.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) |
|---|---|---|
| Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones. | 515.736 | −17.019 |
| 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.017 | −6.025 |
| Source linesThe number of non-empty source lines. | 7 | +2.8 |
Intercept 8.87 + feature contributions = -11.374 (log-odds).
Score = sigmoid(-11.374) = 0.
| Score | 0.348 |
|---|
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. | 107 | −0.867 |
| 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. | 8 | +0.753 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 1 | −0.703 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.148 | −0.494 |
| 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. | 6.769 | −0.315 |
Intercept 0.07 + feature contributions = -1.962 (log-odds).
Score = sigmoid(-1.962) = 0.123.
| Score | 0.024 |
|---|
| Score | 5 |
|---|
Run 1
The code is moderately readable but has several issues. The method name 'check' is vague, and the boolean return type is never actually used, which obscures intent. The conditional logic is packed into a single complex if statement with repeated method calls to getTile() and getSettlement(), making it harder to parse. Nesting is relatively flat, which is good, but the line length and multiple actions per line reduce readability. Code structure is logical but could benefit from early returns or extracted methods. The action granularity is mixed—some lines contain multiple operations. Overall, the code works but requires careful reading to understand the conditions being validated.
Run 2
The code has mixed readability. It uses some clear naming (check, destinations, turns) and one action per line for the most part, but has several issues. The deeply chained and repetitive calls like p.getTile().getSettlement() are verbose and create an ambiguous, tangled expression. The method name check is vague and does not convey intent. The condition on the first if is long and hard to parse, mixing multiple logical tests. The action granularity collapses multiple operations into a single line (adding a ChoiceItem with string concatenation and constructor calls), reducing clarity. Reading flow is disrupted by the chain of getters and the sudden introduction of inSettlement, player, and destinations without context. Overall, the method lacks a clear, self-documenting structure.
Run 3
The code shows mixed readability. The structure is somewhat logical but the long conditional on line 2 creates cognitive overload. Nesting is minimal (single if), which is good. Clarity of intent suffers because variable names like 'p' and 'u' are unclear, and the condition checks three separate concerns in one line. Code length is concise but at the cost of readability — p.getTile().getSettlement() is repeated four times. Action granularity is poor: multiple operations occur on single lines. Reading flow is interrupted by an unused parameter 'u' and missing closing braces suggesting incomplete context. The method name 'check' is vague, and side effects (adding to destinations) aren't evident from the signature.
Run 1
Code Structure: The visible logic is organized as a condition followed by destination creation, but the snippet lacks closing braces and a return statement. Nesting: Only one conditional level keeps nesting shallow. Clarity of intent: It appears to collect reachable player-owned settlements other than the current settlement, although names such as u, p, and s are terse and the method name check is generic. Code length: Concise overall, but repeated p.getTile().getSettlement() calls make the condition verbose. Action granularity: Each statement performs a distinct action, though the final line combines label formatting, object construction, and insertion. Reading flow: Straightforward top-to-bottom flow is weakened by the long chained condition and incomplete method.
Run 2
Code Structure: The method has a logical condition-then-action organization, but the snippet is incomplete, with missing closing braces and no boolean return. Nesting: Only one conditional level keeps nesting shallow. Clarity of intent: It appears to add eligible player-owned settlements as destination choices, though abbreviated names (u, p, s) and external state obscure context. Code length: Concise overall, but repeated p.getTile().getSettlement() calls make the condition unnecessarily verbose. Action granularity: Each body statement performs one main action; the compound condition remains reasonably readable. Reading flow: Consistent indentation and sequential statements help, while chained getters, the long condition, and the abrupt ending interrupt the flow.
Run 3
Code Structure: The visible logic is organized as a condition followed by destination creation, but the missing closing braces leave the snippet incomplete. Nesting: Only one conditional level keeps it easy to follow. Clarity of intent: The ownership and settlement-exclusion checks suggest filtering destinations, but check, u, p, and s are vague names, and no boolean return is shown. Code length: Compact overall, although repeated p.getTile().getSettlement() calls add clutter. Action granularity: Each statement performs one main action, but destination construction combines formatting and object creation. Reading flow: The sequence from filtering to extracting values to adding a choice is natural, though the long compound condition and incomplete method interrupt readability.