Sample

Buse/62

Human rating uses the original dataset scale.

DatasetBuse
Human3.47
Lines5

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett0.5360–1; higher is more readable
65.7Δ 11.1
Dorn0.6170–1; higher is more readable
53.5Δ 1.0
Mi0.6590–1; higher is more readable
68.7Δ 14.1
LLOC4Logical lines; fewer is more readable
59.6Δ 5.1
DeepSeek V4 Pro6.330–20; mean of three runs
2.0Δ 52.5
GPT-6.1 Sol12.670–20; mean of three runs
17.2Δ 37.4
BTTF0.3330–1; higher is more readable
14.1Δ 40.4
Human3.471–5; original rating
54.5

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)
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.306−6.459
Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones.129.268−4.266
Source linesThe number of non-empty source lines.5+2

Intercept 8.87 + feature contributions = 0.146 (log-odds).
Score = sigmoid(0.146) = 0.536.

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.45.833+1.724
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.6+0.824
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.158−0.597
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.4.66−0.345
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.5+0.306

Intercept 0.07 + feature contributions = 0.476 (log-odds).
Score = sigmoid(0.476) = 0.617.

Score0.659
Score4
Run 1

This code snippet is difficult to evaluate due to its truncated nature and mixed concerns. The structure is logically simple with a version check and two assignments, but the nesting and readability suffer from ambiguity. The second action, `channelId=""+in.readInt();`, performs multiple operations in one line (reading an integer, converting to string via concatenation), violating single-action granularity and obscuring intent. The use of `""+in.readInt()` is a terse but unclear idiom for integer-to-string conversion. The reading flow is broken because `channelId` is declared outside the conditional but only assigned inside it, creating potential uninitialized state. The code is concise, but clarity and action granularity are poor. Missing context, such as the source of `in` and purpose of `dataServiceId`, further reduces the score. Overall, the snippet is not highly readable due to ambiguous intent and multi-action line.

Run 2

The code is largely unreadable. Structure is poor, with an unexplained branch and immediate type mixing. Clarity of intent is absent: the purpose of version 1 and the derivation of channelId from an int are unclear. Nesting is minimal but the code lacks context and supporting lines. Action granularity is acceptable (one assignment per line) but the reading flow is disrupted by abrupt concatenation with an empty string and a magic number version check. It feels like a fragment missing key definitions and surrounding logic.

Run 3

The code snippet is partially readable but lacks sufficient context. It demonstrates one action per line and reasonably flat nesting, but the overall purpose is ambiguous without surrounding code. The variable naming is clear but the version check (version==1) introduces a conditional whose intent is unexplained. The handling of channelId as a string concatenation with an empty string (""+in.readInt()) is a non-obvious type conversion that reduces clarity. The code is concise but incomplete, making it difficult to fully assess structure and flow. Without seeing the broader method or class, the readability is moderate at best, with concerns around intent and hidden logic.

Run 1

Code Structure: The visible statements are logically grouped under a version check, but the incomplete block limits assessment. Nesting: Only one conditional level is shown, making it easy to follow. Clarity of intent: Variable names suggest reading identifiers, though the version-specific purpose is unexplained and converting an integer with an empty-string concatenation is less explicit than String.valueOf. Code length: The snippet is concise without obvious redundancy. Action granularity: Each statement occupies its own line, although reading and conversion are combined in the channelId assignment. Reading flow: The sequence is straightforward, but inconsistent spacing and the missing closing brace make the snippet feel unfinished.

Run 2

Code Structure: The declaration and version-specific reads are logically grouped, but the incomplete snippet lacks a closing brace and context. Nesting: Only one conditional level, making it easy to follow. Clarity of intent: Variable names suggest identifiers, but the significance of version 1 and converting an integer to a string through concatenation are not explicit. Code length: Concise, with no unnecessary statements. Action granularity: Each line contains one main declaration or assignment, although channelId combines reading and conversion. Reading flow: Sequential reads are natural, but inconsistent spacing and the abrupt ending reduce readability.

Run 3

Code Structure: The declaration and version-specific block are logically organized, but the snippet is incomplete and lacks a closing brace. Nesting: Only one conditional level, making it easy to follow. Clarity of intent: Variable names suggest deserialization of service and channel identifiers, but the meaning of version 1 is unexplained, and converting an integer with string concatenation obscures intent slightly. Code length: Concise, with no unnecessary statements. Action granularity: Each line performs one main operation. Reading flow: Sequential reads are natural, although inconsistent spacing around operators and casts reduces polish, and the abrupt ending interrupts comprehension.