Sample

Buse/18

Human rating uses the original dataset scale.

DatasetBuse
Human2.47
Lines7

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett0.0070–1; higher is more readable
16.2Δ 4.0
Scalabrino0.3530–1; higher is more readable
6.1Δ 6.1
Dorn0.7470–1; higher is more readable
71.7Δ 59.6
Mi0.4680–1; higher is more readable
36.4Δ 24.2
LLOC4Logical lines; fewer is more readable
59.6Δ 47.5
DeepSeek V4 Pro5.330–20; mean of three runs
1.0Δ 11.1
GPT-6.1 Sol15.330–20; mean of three runs
39.9Δ 27.8
BTTF0.320–1; higher is more readable
13.1Δ 1.0
Human2.471–5; original rating
12.1

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.281.763−9.298
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.926−7.389
Source linesThe number of non-empty source lines.7+2.8

Intercept 8.87 + feature contributions = -5.017 (log-odds).
Score = sigmoid(-5.017) = 0.007.

Score0.353

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.56.875+1.256
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.147−0.49
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.81−0.315
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.57+0.115

Intercept 0.07 + feature contributions = 1.085 (log-odds).
Score = sigmoid(1.085) = 0.747.

Score0.468
Score4
Run 1

The code snippet is very short, making a full evaluation difficult, but it demonstrates several readability problems. It begins with a discouraging comment ('Do not use') which suggests dead or test-only code polluting the main codebase. The 'runMain' method name is ambiguous: it is unclear if this is the actual entry point or a test harness. The action granularity is poor; multiple logical operations (initializing lists) are crammed together. The naming is inconsistent ('classes' and 'missingClasses' are okay, but 'Version.id()' is vague). There is a lack of whitespace around the assignment operator ('classes= new'), violating standard formatting conventions and hurting reading flow. The overall structure is flat, but the intent is unclear due to the contradictory purpose and unclear context. Without more surrounding code, the snippet appears disorganized and not production-quality, warranting a low score.

Run 2

The snippet shows poor readability: it begins with a deprecated test method but lacks surrounding class context, making intent unclear. The code is truncated mid-logic, so structure and flow cannot be fully evaluated. Naming is generic ('classes', 'missingClasses'), and multiple declarations occur on one line with non-idiomatic spacing ('classes= new'). Mixed actions (printing, list creation) reduce clarity. The warning comment adds ambiguity rather than guidance. Missing indentation or braces in the provided fragment further hurts readability. Overall, it appears tangled and incomplete, scoring very low.

Run 3

The code is a short excerpt, but it already shows readability issues. The method name 'runMain' is vague, and the comment 'Do not use. Testing purposes only.' indicates unclear purpose in a production context. The structure is simple, but the variable declarations are cramped together with inconsistent spacing ('classes= new'). The action granularity is acceptable, but the reading flow is broken by the ambiguous naming and lack of meaningful context. The nesting is flat, which is good, but the clarity of intent is weak. Overall, the code is functional but not particularly readable or maintainable.

Run 1

Code Structure: The visible statements are logically organized, but the snippet ends before the method is complete. Nesting: Minimal nesting makes it easy to scan. Clarity of intent: The testing-only comment, JUnit version output, and descriptive variable names provide context, though runMain is broad and the lists' eventual use is not shown. Code length: The excerpt is concise without unnecessary statements. Action granularity: Each statement performs one clear action on its own line. Reading flow: Execution progresses naturally from printing the version to initializing collections; inconsistent spacing around assignment operators slightly reduces polish.

Run 2

Code Structure: The comment, method declaration, and initialization statements are logically organized, but the snippet is incomplete. Nesting: Only one method scope is shown, with no deeply nested logic. Clarity of intent: The testing-only warning and descriptive variable names help, though the method's overall behavior and Result return are not visible. Code length: The visible code is concise without unnecessary statements. Action granularity: Each statement performs one clear action on its own line. Reading flow: Execution flows naturally from printing the version to initializing collections, although inconsistent spacing around assignment operators and the missing method body and closing brace reduce readability.

Run 3

Code Structure: The visible method has a straightforward setup sequence, though the snippet is incomplete. Nesting: Flat statements within a single method make it easy to scan. Clarity of intent: The comment identifies testing-only use, and descriptive names clarify the collections; runMain is fairly generic. Code length: The visible code is concise without unnecessary logic. Action granularity: Each statement performs one clear action. Reading flow: The comment, method declaration, version output, and collection initialization follow a natural order. Inconsistent spacing around assignment operators slightly reduces polish, and the missing remainder limits assessment of the method as a whole.