Sample

Scalabrio182

Human rating uses the original dataset scale.

DatasetScalabrino
Human3.33
Lines19

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett00–1; higher is more readable
71.4Δ 36.4
Scalabrino0.2690–1; higher is more readable
23.6Δ 11.3
Dorn0.3510–1; higher is more readable
40.7Δ 5.8
Mi0.0170–1; higher is more readable
9.0Δ 25.9
LLOC6Logical lines; fewer is more readable
86.9Δ 52.0
DeepSeek V4 Pro120–20; mean of three runs
31.4Δ 3.5
GPT-6.1 Sol16.330–20; mean of three runs
42.5Δ 7.5
BTTF0.6070–1; higher is more readable
71.4Δ 36.4
Human3.331–5; original rating
34.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.544.962−17.984
Source linesThe number of non-empty source lines.19+7.6
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.66−6.99

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

Score0.269

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.113−1.121
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
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.17.825−0.161
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.088+0.084
Indentation frequencyHow rapidly indentation changes from line to line.19−0.08

Intercept 0.07 + feature contributions = -0.613 (log-odds).
Score = sigmoid(-0.613) = 0.351.

Score0.017
Score6
Run 1

The code has clear structure and single-purpose method, with reasonable action granularity. However, the nesting is quite deep due to multiple chained getter calls, making it harder to read. The intent is understandable but could be improved by extracting the deep getter chains into local variables. The variable names are descriptive but the deeply chained method calls reduce clarity. The overall flow follows a logical order, but the excessive chaining creates visual clutter and requires careful line wrapping, affecting the natural reading flow. This is a typical Hibernate-style codebase pattern that works but could benefit from refactoring for readability.

Run 2

The code is moderately readable but suffers from verbose method chaining and deep nesting within arguments. The structure is logical, separating entity and many-to-many cases, and the flow from one operation to the next is clear. However, lines are excessively long due to multiple chained getter calls inside method arguments, reducing clarity of intent. Action granularity is mixed: although each top-level statement occupies its own line, each line contains multiple embedded operations, making it harder to parse. Nesting is mostly flat at the top level but deep within individual expressions. The method does not explain the purpose of each fragment clearly, and the repeated access to 'getQueryableCollection()' adds unnecessary length. Overall, it follows a familiar pattern but could be improved with extracted variables and better formatting to enhance readability.

Run 3

The code has a clear purpose but suffers from readability issues. The method name is descriptive, and the overall structure is logical, with a simple if-branch for many-to-many collections. However, the nested method calls are extremely long, making each line hard to parse. Multiple actions are chained in single lines, violating the 'one action per line' principle. The deep nesting of accessor calls (e.g., getQueryableCollection().getElementPersister()) obscures intent and requires significant mental effort to follow. While the code is concise, it sacrifices clarity. Breaking intermediate results into well-named local variables and extracting the select fragment construction would greatly improve readability.

Run 1

Code Structure: Logically organized into collection selection, optional many-to-many element selection, and superclass delegation. Nesting: Only one conditional level, though nested method calls add visual complexity. Clarity of intent: Descriptive method and variable names communicate the purpose well; ORM-specific terminology requires domain knowledge. Code length: Appropriately concise, but repeated accessor chains could be shortened with local variables. Action granularity: Each statement performs one main action, with arguments spread across lines for readability. Reading flow: Execution proceeds naturally, and whitespace separates the conditional behavior clearly. Inconsistent indentation and spacing slightly detract from an otherwise readable implementation.

Run 2

Code Structure: Logically organized into collection selection, optional many-to-many element selection, and superclass delegation. Nesting: Control-flow nesting is shallow, although nested method calls and chained getters add visual complexity. Clarity of intent: Descriptive method and variable names communicate the purpose, but ORM-specific terminology requires domain knowledge. Code length: Appropriately concise, though repeated alias lookups could be assigned to local variables for easier scanning. Action granularity: Each statement performs one primary action; multiline expressions avoid cramming operations onto a single line. Reading flow: The execution order is natural and easy to follow, but inconsistent indentation and spacing slightly disrupt readability.

Run 3

Code Structure: Logically organized into collection selection, conditional many-to-many element selection, and superclass delegation. Nesting: Control flow is shallow, with only one conditional, although nested method calls add visual complexity. Clarity of intent: Descriptive method and variable names communicate the purpose, but understanding the alias chains requires domain knowledge. Code length: Appropriately concise, though repeated accessor chains make expressions verbose. Action granularity: Each statement performs one primary action, and multiline arguments help distinguish inputs. Reading flow: Execution proceeds naturally from general collection handling to special-case handling and delegation; inconsistent indentation and spacing slightly disrupt scanning.