Sample

Scalabrio148

Human rating uses the original dataset scale.

DatasetScalabrino
Human3
Lines11

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett0.0060–1; higher is more readable
80.9Δ 64.1
Scalabrino0.1560–1; higher is more readable
10.6Δ 6.3
Dorn0.0780–1; higher is more readable
13.6Δ 3.3
Mi0.0040–1; higher is more readable
1.5Δ 15.3
LLOC3Logical lines; fewer is more readable
96.5Δ 79.6
DeepSeek V4 Pro14.670–20; mean of three runs
57.8Δ 41.0
GPT-6.1 Sol180–20; mean of three runs
83.7Δ 66.8
BTTF0.5420–1; higher is more readable
54.3Δ 37.4
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.346.794−11.444
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.634−6.951
Source linesThe number of non-empty source lines.11+4.4

Intercept 8.87 + feature contributions = -5.125 (log-odds).
Score = sigmoid(-5.125) = 0.006.

Score0.156

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.152−2.773
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
Indentation frequencyHow rapidly indentation changes from line to line.11−0.357
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.9.778−0.273
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.07+0.263

Intercept 0.07 + feature contributions = -2.475 (log-odds).
Score = sigmoid(-2.475) = 0.078.

Score0.004
Score3
Run 1

The code is fairly readable and organized, with a clear single responsibility. It uses consistent naming and a logical flow: retrieve a persister, cast/convert it, and delegate to a helper method. However, readability suffers from several issues. The method name is extremely long and somewhat ambiguous, making intent unclear at first glance. The lines are dense with casts and nested method calls, which slightly hurts reading flow and action granularity. The method could be broken into intermediate variables to clarify each step. Nesting is not a major issue, but the single line with multiple casts and method invocations feels tangled. Overall, it is understandable but could be improved with more descriptive variable names and less compression of logic.

Run 2

The code is generally well-structured with a clear purpose: resolving composite collection index sub-attributes. Naming is descriptive and consistent with domain terminology. The method performs a single logical operation by delegating to a helper method, keeping action granularity reasonable. However, readability is slightly hindered by heavy inline casting (QueryableCollection, OuterJoinLoadable, CompositeType) and long line lengths, which add visual noise. The nesting is minimal and the flow is natural, but the method signature and parameter list are verbose. Overall, it is readable for developers familiar with the persistence framework, though could benefit from line wrapping and intermediate variables to reduce clutter.

Run 3

The code is relatively concise and each line performs a single logical action, contributing to decent readability. The method name is descriptive, and the structure is clear. However, readability suffers from significant line-length issues, forcing horizontal scrolling. The initial variable assignment separates the cast and method call from the return statement, which is acceptable but adds minor noise. The nested method call chain in the return statement is somewhat deep but still understandable. Overall, the code is readable but could benefit from reformatting and possibly extracting intermediate variables for clarity.

Run 1

Code Structure: Logically organized into retrieving the collection persister and delegating subattribute construction. Nesting: Flat, with no conditional or loop nesting. Clarity of intent: Descriptive method and variable names communicate the purpose, although framework-specific types and explicit casts require domain knowledge. Code length: Concise, with no unnecessary statements; the long method signature slightly reduces scanability. Action granularity: Each statement has a distinct responsibility, and each argument is placed on its own line. Reading flow: Natural progression from obtaining the dependency to returning the result, supported by consistent indentation.

Run 2

Code Structure: Logically organized into obtaining the collection persister and delegating subattribute retrieval. Nesting: Flat, with no nested control flow. Clarity of intent: Descriptive method and variable names communicate the purpose, though domain-specific types and explicit casts require background knowledge. Code length: Concise, with no unnecessary statements. Action granularity: The assignment and return are separate, and each delegated argument occupies its own line. Reading flow: Natural top-to-bottom progression with readable argument formatting; long identifiers and the chained accessor slightly increase reading effort.

Run 3

Code Structure: Logically organized into retrieving the collection persister and delegating attribute construction. Nesting: Flat, with no conditional or loop nesting. Clarity of intent: Descriptive method and variable names communicate the purpose, though long names and explicit casts add cognitive load. Code length: Concise, with no unnecessary statements. Action granularity: Each statement performs a focused operation, and placing each argument on its own line improves scanning. Reading flow: Natural progression from obtaining the dependency to returning the result; slightly cramped signature formatting and the chained accessor call modestly reduce readability.