Sample

Scalabrio25

Human rating uses the original dataset scale.

DatasetScalabrino
Human4.22
Lines23

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett00–1; higher is more readable
42.2Δ 40.7
Scalabrino0.9420–1; higher is more readable
97.0Δ 14.1
Dorn0.6680–1; higher is more readable
76.4Δ 6.5
Mi0.5380–1; higher is more readable
78.4Δ 4.5
LLOC17Logical lines; fewer is more readable
35.7Δ 47.2
DeepSeek V4 Pro17.670–20; mean of three runs
96.0Δ 13.1
GPT-6.1 Sol190–20; mean of three runs
98.0Δ 15.1
BTTF0.6730–1; higher is more readable
87.9Δ 5.0
Human4.221–5; original rating
82.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.840.752−27.745
Source linesThe number of non-empty source lines.23+9.2
Byte entropyHow varied the bytes in the source text are. Repeated bytes give a lower value; a more even mixture gives a higher value.5.091−7.636

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

Score0.942

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.58.957+1.168
Indentation frequencyHow rapidly indentation changes from line to line.1−0.703
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.23+0.222
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.59+0.148
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.21.967−0.103
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.21−0.061
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.101−0.04

Intercept 0.07 + feature contributions = 0.701 (log-odds).
Score = sigmoid(0.701) = 0.668.

Score0.538
Score17
Run 1

The code is highly readable. It has a clear, single-purpose constructor with a flat structure and no complex nesting. Each line performs one action—registering a column type—making the intent explicit and the flow natural. The mapping of Java Types to database-specific type strings is straightforward and easy to scan. Although somewhat repetitive, the repetition is appropriate for this kind of configuration and does not harm readability. The only minor issues are a slight lengthiness and the Javadoc comment being minimal, but these do not significantly detract from overall clarity.

Run 2

The code is highly readable. It has a clear, linear structure with no nesting, and each line performs a single, explicit action—registering a SQL type mapping. The method name and parameter pairs clearly convey intent, making the purpose unambiguous. The formatting is consistent and followable, with only negligible repetition inherent to the domain. Minor deductions are for the slightly verbose nature of repeating 'registerColumnType' and the lack of grouping or comments for related type families, which could marginally improve scanning.

Run 3

The code is highly readable: the constructor clearly initializes a dialect by registering type mappings, with one action per line. The structure is flat, simply a sequence of related registrations. The intent is obvious to anyone familiar with ORM dialects, and the pattern of aligning arguments reads naturally. Length is appropriate—not unnecessarily long. Minor limitations: no additional structure or grouping (though none is needed), and the code relies on implicit knowledge of Types constants; however, this is typical for such configuration code.

Run 1

Code Structure: The constructor logically groups column-type registrations after superclass initialization. Nesting: Completely flat, with no conditional branches or loops. Clarity of intent: Descriptive method names and explicit type mappings clearly communicate dialect initialization; the constructor comment is redundant but harmless. Code length: Concise for an explicit mapping list, with necessary repetition rather than unnecessary verbosity. Action granularity: Each line performs exactly one registration. Reading flow: Consistent formatting and a straightforward top-to-bottom sequence make scanning easy, although grouping related numeric, text, temporal, and binary types would improve navigation slightly.

Run 2

Code Structure: A single constructor logically groups database column-type registrations. Nesting: The body is flat, with no nested control flow. Clarity of intent: Descriptive method names and explicit type mappings make the purpose immediately clear; the constructor comment adds little information. Code length: Concise for the number of mappings, with necessary rather than excessive repetition. Action granularity: Each line performs exactly one registration. Reading flow: Consistent indentation, spacing, and repeated call patterns make the code easy to scan, although grouping related types more consistently could slightly improve navigation.

Run 3

Code Structure: A single constructor logically groups SQL type registrations. Nesting: Completely flat, with no conditional or loop complexity. Clarity of intent: The constructor name and registerColumnType calls clearly communicate dialect initialization, though placeholder meanings rely on framework knowledge. Code length: Concise for an explicit mapping list; repetition is purposeful rather than unnecessary. Action granularity: Each line performs exactly one registration. Reading flow: Consistent formatting and sequential mappings make the code easy to scan, although explicit grouping by type category could slightly improve navigation.