Sample

Scalabrio109

Human rating uses the original dataset scale.

DatasetScalabrino
Human3
Lines40

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett00–1; higher is more readable
6.0Δ 10.8
Scalabrino0.1230–1; higher is more readable
9.0Δ 7.8
Dorn0.4880–1; higher is more readable
56.3Δ 39.4
Mi0.1710–1; higher is more readable
42.7Δ 25.9
LLOC28Logical lines; fewer is more readable
7.8Δ 9.0
DeepSeek V4 Pro6.670–20; mean of three runs
5.5Δ 11.3
GPT-6.1 Sol15.670–20; mean of three runs
27.1Δ 10.3
BTTF0.3130–1; higher is more readable
4.5Δ 12.3
Human31–5; original rating
16.8

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.2016.641−66.549
Source linesThe number of non-empty source lines.40+16
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.999−7.498

Intercept 8.87 + feature contributions = -49.177 (log-odds).
Score = sigmoid(-49.177) = 0.

Score0.123

Feature contributions

FeatureValueContribution
(log-odds)
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
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.1+0.398
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.123−0.25
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.38.882+0.134
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.84+0.107

Intercept 0.07 + feature contributions = -0.047 (log-odds).
Score = sigmoid(-0.047) = 0.488.

Score0.171
Score28
Run 1

The code has severe readability issues. The method begins with deeply nested logic, starting with a conditional and multiple indent levels, making it hard to follow the main flow. There are multiple actions packed into single lines (e.g., `indexColumn.forceNotNull()`, `value.setExplicitType(...)`, `list.setBaseIndex(...)`), violating the one-action-per-line principle. The variable names are incredibly vague (`value`, `ib`, `list`), so the reader cannot easily infer their purpose without diving into implementation details. The method is unnecessarily long due to verbose builder calls and property setup, without clear logical separation or helper methods. The reading flow is disorganized, with the conditional branch throwing an exception at the end rather than being handled early. Overall, the code is maintainable only by someone already familiar with the domain and framework internals.

Run 2

The code has moderate structure but suffers from multiple readability issues. The method contains deeply nested conditionals (if-else with a nested multi-condition if), making the logic hard to follow. Multiple actions are packed into single lines (e.g., chained method calls, combined getter/setter operations), violating the one-action-per-line principle. Variable names like 'ib', 'value', and 'list' are unclear, obscuring intent. The exception message is verbose and awkwardly formatted. While the code is not extremely long, it mixes setup, validation, and mutation responsibilities without clear separation. The reading flow is disrupted by inconsistent indentation and abrupt context switches between collection configuration and exception handling.

Run 3

The code has some logical organization but suffers from poor readability. It begins with an inverted condition (`!indexColumn.isImplicit()`) which forces the main logic deeper into the method. Nesting is heavy—two levels of conditionals, with the last block being particularly dense. Intent is partially obscured by unclear variable names like 'value', 'indexValue', and 'list' (cast from collection) without immediate context. The method is unnecessarily long; extracting the backref setup block would help. Action granularity is mixed—multiple actions per line in places (e.g., the long StringHelper.qualify argument list). Reading flow is disrupted by the else block throwing after a long if block, and the condition for the final if is difficult to parse. Overall, while not completely unreadable, it requires significant effort to understand.

Run 1

Code Structure: Logically groups index setup, optional back-reference creation, and validation failure, though extracting back-reference setup would improve organization. Nesting: Moderate nesting; an early exception for an implicit column would flatten the main path. Clarity of intent: Method calls communicate the mapping operations well, but generic names such as value and ib, casts, and domain-specific conditions require context. Code length: Reasonably concise for its responsibilities, although repetitive configuration calls dominate the method. Action granularity: Mostly one action per line; the inline conditional combines a condition and mutation on one line. Reading flow: Follows a natural setup-and-link sequence, but lacks visual separation between stages, and placing validation failure at the end delays understanding of the precondition.

Run 2

Code Structure: Logically groups index configuration, conditional back-reference creation, and error handling, although extracting helpers could clarify these phases. Nesting: Moderate nesting beneath the outer condition; an early exception would flatten the main path. Clarity of intent: Descriptive method and API names explain most operations, but generic names such as value and ib, casts, and domain-specific conditions require context. Code length: Reasonably concise for the work performed, with some repetitive setter calls and an unnecessary coll alias. Action granularity: Most lines perform one action; the inline conditional slightly reduces consistency. Reading flow: Configuration proceeds naturally from holder creation through binding and registration, but the long compound condition and error branch at the end modestly interrupt scanning.

Run 3

Code Structure: Logically organized into index configuration, conditional back-reference creation, and error handling, though these responsibilities could be separated. Nesting: Moderate nesting; an early exception for an implicit column would flatten the main path. Clarity of intent: Descriptive method calls make the mapping workflow understandable, but generic names such as value and ib, casts, and domain-specific conditions require extra interpretation. Code length: Reasonably concise for the work performed, although repetitive setter calls add visual bulk. Action granularity: Almost every statement performs one action; the inline conditional is compact but less consistent with surrounding formatting. Reading flow: The initialization-to-binding sequence is natural, with back-reference setup following index creation. The long compound condition and multiline builder arguments slightly interrupt scanning.