Sample

Buse/25

Human rating uses the original dataset scale.

DatasetBuse
Human2.1
Lines7

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett00–1; higher is more readable
1.0Δ 2.0
Scalabrino0.3480–1; higher is more readable
4.5Δ 1.5
Dorn0.1230–1; higher is more readable
3.0Δ 0.0
Mi0.0240–1; higher is more readable
2.0Δ 1.0
LLOC5Logical lines; fewer is more readable
29.8Δ 26.8
DeepSeek V4 Pro9.670–20; mean of three runs
13.1Δ 10.1
GPT-6.1 Sol120–20; mean of three runs
11.1Δ 8.1
BTTF0.1490–1; higher is more readable
1.0Δ 2.0
Human2.11–5; original rating
3.0

Views

Download official ZIP ↗

Select the downloaded ZIP or its extracted folder. Files stay in your browser.

Loading feature diagnosis…

Source regions

Feature contributions

Feature contributions

FeatureValueContribution
(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.

Score0.348

Feature contributions

FeatureValueContribution
(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.

Score0.024
Score5
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.