Sample

Scalabrio141

Human rating uses the original dataset scale.

DatasetScalabrino
Human4.33
Lines12

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett0.3810–1; higher is more readable
89.9Δ 2.0
Scalabrino0.7720–1; higher is more readable
80.9Δ 7.0
Dorn0.7660–1; higher is more readable
87.9Δ 0.0
Mi0.6710–1; higher is more readable
89.4Δ 1.5
LLOC9Logical lines; fewer is more readable
72.6Δ 15.3
DeepSeek V4 Pro180–20; mean of three runs
98.5Δ 10.6
GPT-6.1 Sol18.670–20; mean of three runs
94.7Δ 6.8
BTTF0.6220–1; higher is more readable
75.4Δ 12.6
Human4.331–5; original rating
87.9

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.257.843−8.509
Byte entropyHow varied the bytes in the source text are. Repeated bytes give a lower value; a more even mixture gives a higher value.3.763−5.645
Source linesThe number of non-empty source lines.12+4.8

Intercept 8.87 + feature contributions = -0.484 (log-odds).
Score = sigmoid(-0.484) = 0.381.

Score0.772

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.37.75+2.066
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.1+1.001
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.0−0.804
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.13−0.326
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.10.513−0.263
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.12+0.145

Intercept 0.07 + feature contributions = 1.187 (log-odds).
Score = sigmoid(1.187) = 0.766.

Score0.671
Score9
Run 1

The code is clean and readable. It uses a clear constant (PRIME = 31), initializes result with a conventional value, and follows a consistent pattern for each field: check for null, optionally add hash, then multiply by prime. Each action is on its own line, and the flow is logical and easy to follow. The only minor weakness is the slight redundancy in multiplying by prime between fields, but this is standard practice for hash code generation and does not harm clarity.

Run 2

The hashCode method is logically structured, flat, and easy to read. It follows a clear pattern: initialize, combine fields conditionally, then multiply by a prime. Each action is on its own line, and the intent is obvious. The method is concise and avoids unnecessary complexity. Minor deductions: the final multiplication by PRIME is omitted after the last field, which is a slight inconsistency (though acceptable in practice), and the use of '+' instead of '^' or '*' may be a subtle design choice but doesn't impact readability. Overall, very readable.

Run 3

The code is clear and well-structured. Each conditional check is simple, flat, and performs one action per line, contributing to easy reading flow. The variable names are meaningful and the intent is obvious: to compute a hash code using prime multiplication and null-safe field hashes. It is concise without unnecessary complexity, and the logical organization mirrors standard hashCode patterns.

Run 1

Code Structure: Logically organized into initialization, field contributions, and return. Nesting: Only two shallow conditionals, making execution easy to follow. Clarity of intent: The hashCode method name and familiar prime-based calculation clearly communicate purpose; name and num provide limited domain context. Code length: Short and appropriate, with no unnecessary complexity. Action granularity: Each statement performs one action, and null checks are explicit. Reading flow: Sequential and natural, though the placement of multiplication between field contributions requires slight attention. Minor spacing inconsistencies and the generic variable names slightly reduce readability.

Run 2

Code Structure: Logically organized initialization, field contributions, and return. Nesting: Only two shallow conditionals, making control flow easy to follow. Clarity of intent: The hashCode method name and PRIME constant clearly communicate the purpose, although num is a somewhat vague field name. Code length: Short and appropriately concise, without unnecessary logic. Action granularity: Each statement performs one action on its own line. Reading flow: Straightforward top-to-bottom progression; the asymmetric placement of multiplication slightly reduces the visual consistency of the field contributions.

Run 3

Code Structure: logically organized into initialization, field contributions, and return. Nesting: shallow, with only two simple null checks. Clarity of intent: the hashCode method, PRIME constant, and result accumulator make the purpose clear, though num is a somewhat vague field name. Code length: concise, with no unnecessary steps. Action granularity: each statement performs a single action on its own line. Reading flow: straightforward top-to-bottom execution, with consistent formatting and easily followed hash accumulation.