Sample

Scalabrio147

Human rating uses the original dataset scale.

DatasetScalabrino
Human3.44
Lines32

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett00–1; higher is more readable
68.8Δ 28.9
Scalabrino0.5730–1; higher is more readable
56.8Δ 16.8
Dorn0.1980–1; higher is more readable
25.1Δ 14.8
Mi0.0820–1; higher is more readable
31.2Δ 8.8
LLOC11Logical lines; fewer is more readable
63.1Δ 23.1
DeepSeek V4 Pro16.330–20; mean of three runs
80.9Δ 41.0
GPT-6.1 Sol16.330–20; mean of three runs
42.5Δ 2.5
BTTF0.5080–1; higher is more readable
41.7Δ 1.8
Human3.441–5; original rating
39.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.718.46−23.709
Source linesThe number of non-empty source lines.32+12.8
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.808−7.213

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

Score0.573

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.124−1.587
Indentation frequencyHow rapidly indentation changes from line to line.30+0.301
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.30−0.268
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.075+0.21
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.32−0.097
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.46.75−0.05
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.30.792+0.021

Intercept 0.07 + feature contributions = -1.4 (log-odds).
Score = sigmoid(-1.4) = 0.198.

Score0.082
Score11
Run 1

The code is generally well-structured with good readability. It has a clear purpose, reasonable nesting depth, and mostly single-action lines. Early return pattern reduces nesting. The main method body is split into logical sections (resolved type mapping, java type name, simple value handling) with a helpful comment. The one deeply nested block for SimpleValue handling is acceptable but could be extracted. The todo comment provides context about limitations. Indentation is inconsistent (tabs/spaces mixing), and some lines are quite long like the Datatype constructor call. Overall, readable but could benefit from a minor extraction method for the SimpleValue block and consistent formatting. The method name is descriptive, and the parameter names clearly indicate their roles.

Run 2

The code is clear and well-structured, with a logical flow and one action per line. Nesting is minimal, and the early return reduces complexity. The method name and comments clarify intent. The conditional blocks are simple and readable. The inline comment about limitations is helpful. The only minor deductions come from slight verbosity (could use helper methods and null checks could be simplified) and a small formatting inconsistency. Overall, it is highly readable.

Run 3

The code is generally readable with a flat structure (only two levels of nesting) and clear intent. Each logical step is separated by blank lines, and the early return for null resolvedHibernateType prevents unnecessary nesting. Variable names are descriptive, and the method name clearly communicates its purpose. However, readability is slightly reduced by the long comment line with tildes, an inline TODO comment that interrupts flow, and the multi-line Datatype constructor call which packs several arguments across multiple lines. The cast from Value to SimpleValue could be simplified with pattern matching, but the explicit type check and cast are clear. Overall, the code is well-organized and easy to follow, with minor style inconsistencies preventing a higher score.

Run 1

Code Structure: Logically groups Hibernate mapping, Java type metadata, and simple-value datatype updates. Nesting: An early return keeps the method mostly flat, with only two nested conditionals in the final block. Clarity of intent: Descriptive names and null checks clearly communicate that missing type information is populated; however, the metadata dependency and first SQL type selection require context. Code length: Reasonably concise, though the decorative separator and verbose TODO add visual noise. Action granularity: Each statement performs one main action, and the multiline Datatype constructor makes its arguments easy to distinguish. Reading flow: Updates proceed naturally from general metadata to specific value handling, but inconsistent indentation and the lengthy method name slightly hinder scanning.

Run 2

Code Structure: Logically separates resolved mapping, Java type information, and datatype propagation, though inconsistent indentation weakens presentation. Nesting: An early return keeps most logic flat; the final two-level conditional is manageable. Clarity of intent: Descriptive names and null checks clearly communicate filling missing type information, but the long method name and unexplained sqlTypes(metadata)[0] assumption add friction. Code length: Mostly concise, although the decorative comment and verbose formatting of the constructor call add visual bulk. Action granularity: Each statement performs a single clear action, with constructor arguments separated for readability. Reading flow: Progresses naturally from validation to general metadata updates and then specialized SimpleValue handling; uneven spacing and the lengthy TODO slightly interrupt that flow.

Run 3

Code Structure: Logically groups resolved mapping, Java type information, and datatype propagation, though indentation is inconsistent. Nesting: An early null return keeps most logic flat; the final block has only two conditional levels. Clarity of intent: Descriptive names and null checks clearly communicate filling missing type information, but the first SQL type selection and single-value limitation require domain knowledge. Code length: Appropriately concise, although the long separator comment and verbose instance check add visual noise. Action granularity: Each statement performs one clear action; the multiline Datatype construction remains easy to follow. Reading flow: Progresses naturally from validation to general metadata and then specialized handling, with minor disruption from uneven formatting and the informal TODO.