Sample

Buse/87

Human rating uses the original dataset scale.

DatasetBuse
Human2.88
Lines7

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett0.0020–1; higher is more readable
11.1Δ 19.2
Scalabrino0.7790–1; higher is more readable
53.0Δ 22.7
Dorn0.4250–1; higher is more readable
29.3Δ 1.0
Mi0.3540–1; higher is more readable
23.2Δ 7.1
LLOC6Logical lines; fewer is more readable
11.6Δ 18.7
DeepSeek V4 Pro8.330–20; mean of three runs
8.1Δ 22.2
GPT-6.1 Sol10.330–20; mean of three runs
3.5Δ 26.8
BTTF0.2990–1; higher is more readable
10.1Δ 20.2
Human2.881–5; original rating
30.3

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.349.775−11.543
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.323−6.484
Source linesThe number of non-empty source lines.7+2.8

Intercept 8.87 + feature contributions = -6.357 (log-odds).
Score = sigmoid(-6.357) = 0.002.

Score0.779

Feature contributions

FeatureValueContribution
(log-odds)
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.68+0.785
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.133−0.351
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.6.841−0.314
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.7+0.26

Intercept 0.07 + feature contributions = -0.304 (log-odds).
Score = sigmoid(-0.304) = 0.425.

Score0.354
Score6
Run 1

The code is moderately understandable but has several readability issues. The structure is logical but lacks comments or context about why the timezone correction is needed. Nesting is shallow, which is good, but the if statements could be combined or clarified. Clarity of intent is weak—the magic number `1*60*60*1000` for one hour is ambiguous and error-prone. Code length is concise but the method name `correctTimeZone` is misleading because it mutates the input Date and returns it. Action granularity is okay, with one action per line mostly, but the logic is split across conditions in a way that obscures the purpose. Reading flow is hindered by inconsistent naming (`ret` vs `date`) and the misleading return of the same object. The method also assumes `date` is mutable and does not handle null or immutability, reducing clarity.

Run 2

The code has several readability issues. The structure is simple but not logically clear: mutating the input Date parameter directly (via ret.setTime) is a side effect that may surprise callers, and the method name 'correctTimeZone' does not explain what correction is being applied. Nesting is shallow, which is good, but clarity of intent is low due to the hardcoded '+1*60*60*1000' value with no named constant or explanation. Code length is concise but at the cost of understandability. Action granularity is okay—only one operation per line—but the overall reading flow is disrupted by the mutation and magic number. Formatting is inconsistent (missing spaces around '='), and the logic only handles positive DST offset, ignoring half-hour or other timezone adjustments. Using 'ret = date' then mutating 'ret' is misleading because 'ret' and 'date' refer to the same object. A clearer approach would be to create a new Date or use a Calendar with a named DST offset constant.

Run 3

The code has a clear purpose (timezone correction) and low nesting depth, but suffers from several readability issues. The method name is clear, but the logic is ambiguous: it mutates the input Date object directly and also returns it, creating side effects that are not obvious. Magic numbers are used for time calculation instead of named constants. The nested if statements could be combined for clarity. Formatting is inconsistent with missing spaces around operators. The logic itself is questionable—using the default timezone's DST status globally rather than for a specific timezone. The variable name 'ret' is unclear. Overall, it's understandable but not well-structured or self-documenting.

Run 1

Code Structure: The method is logically organized, but the missing closing brace makes the snippet incomplete. Nesting: Two nested conditions are manageable but could be combined. Clarity of intent: The name suggests a time-zone adjustment, but the fixed one-hour increment and mutation of the original Date through the ret alias obscure the behavior. Code length: Short overall, though repeated fully qualified TimeZone calls add clutter. Action granularity: Each statement performs one main action, but the assignment hides its side effect on the input. Reading flow: The sequence is straightforward, yet inconsistent indentation, missing spaces, and omitted braces around the inner condition reduce readability.

Run 2

Code Structure: The method is small and logically organized, but the missing closing brace leaves it incomplete. Nesting: Two nested conditionals add avoidable depth; combining the conditions would simplify it. Clarity of intent: The name suggests timezone correction, but the code merely adds a fixed hour during daylight saving time. The alias ret mutates the original Date, which is not obvious from the naming. Code length: Concise overall, though repeated fully qualified timezone lookups are distracting. Action granularity: Each statement performs one main action, but mutation and aliasing obscure its effect. Reading flow: The basic progression is straightforward, but inconsistent indentation, missing spaces, and omitted inner braces reduce readability.

Run 3

Code Structure: The method has a simple, logical sequence, but the missing closing method brace makes the snippet incomplete. Nesting: Two nested conditions add avoidable depth and could be combined. Clarity of intent: The method name suggests timezone correction, but the fixed one-hour adjustment is unexplained; ret aliases date, so the input is mutated rather than copied. Code length: Short overall, though repeated fully qualified TimeZone calls add clutter. Action granularity: Each statement performs one main action, making individual operations easy to follow. Reading flow: The progression from initialization to checks, adjustment, and return is natural, but inconsistent indentation, missing spaces, and omitted braces around the inner conditional reduce readability.