Sample

Scalabrio19

Human rating uses the original dataset scale.

DatasetScalabrino
Human4
Lines13

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett0.8960–1; higher is more readable
97.0Δ 23.6
Scalabrino0.6960–1; higher is more readable
71.4Δ 2.0
Dorn0.8750–1; higher is more readable
98.5Δ 25.1
Mi0.7340–1; higher is more readable
93.5Δ 20.1
LLOC8Logical lines; fewer is more readable
76.9Δ 3.5
DeepSeek V4 Pro18.330–20; mean of three runs
99.7Δ 26.4
GPT-6.1 Sol190–20; mean of three runs
98.0Δ 24.6
BTTF0.670–1; higher is more readable
86.9Δ 13.6
Human41–5; original rating
73.4

Views

Source code

/** * Constructs a Oracle8iDialect */ public Oracle8iDialect() { super(); registerCharacterTypeMappings(); registerNumericTypeMappings(); registerDateTimeTypeMappings(); registerLargeObjectTypeMappings(); registerReverseHibernateTypeMappings(); registerFunctions(); registerDefaultProperties(); }

Loading feature diagnosis…

Source regions

Feature contributions

Feature contributions

FeatureValueContribution
(log-odds)
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.675−7.012
Source linesThe number of non-empty source lines.13+5.2
Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones.148.462−4.899

Intercept 8.87 + feature contributions = 2.159 (log-odds).
Score = sigmoid(2.159) = 0.896.

Score0.696

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.41+1.929
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.13+0.576
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.12−0.242
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.41−0.143
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.091+0.059

Intercept 0.07 + feature contributions = 1.944 (log-odds).
Score = sigmoid(1.944) = 0.875.

Score0.734
Score8
Run 1

The code is highly readable due to its clear, flat structure and well-named methods. Each line performs a single, specific initialization action, maintaining excellent action granularity. The constructor follows a logical sequence, making the reading flow natural and easy to follow. There is no unnecessary nesting or tangled logic, and the intent is unambiguous - each method call clearly indicates what type of type or function mapping is being registered. The code is concise, containing only the essential initialization steps without redundant commentary or excessive length. The only minor deduction is the overly verbose Javadoc comment which simply restates the constructor name, but this does not significantly impact readability.

Run 2

The code is excellent. Structure is logical and modular, with clear separation of concerns through method calls. There is no nesting, which keeps the flow flat and simple. Intent is unambiguous: it's a constructor initializing a dialect with type mappings and properties. Code length is concise, with no unnecessary verbosity. Each line performs one distinct action, aligning with action granularity principles. Reading flow is natural, moving from general setup (type mappings) to specific configurations (functions and properties). The only minor drawback is the lack of inline comments explaining what each method does, but method names are self-documenting enough to maintain clarity.

Run 3

The code is highly readable. Structure is logical: a constructor that delegates to well-named private registration methods. Nesting is flat, with no conditional or loop complexity. Intent is clear—each method call signals a distinct initialization step. The code is concise without being cryptic. Action granularity is ideal: one method call per line. Reading flow is natural, grouping related type mappings together and ending with functions and default properties. The only minor deduction is the lack of explicit visibility modifiers on the helper methods, which is contextual but not visible here.

Run 1

Code Structure: The constructor logically delegates initialization to clearly grouped helper methods. Nesting: The code is flat, with no nested control flow. Clarity of intent: Descriptive method names clearly communicate which mappings, functions, and properties are registered. Code length: The constructor is concise; the explicit super() call and constructor comment add little value but do not hinder readability. Action granularity: Each line performs a single initialization action. Reading flow: Initialization proceeds naturally from type mappings to functions and default properties. Minor documentation issues, including 'a Oracle8iDialect' rather than 'an Oracle8iDialect,' slightly reduce polish.

Run 2

Code Structure: The constructor logically groups initialization into clearly named registration methods. Nesting: The code is flat, with no conditional or loop nesting. Clarity of intent: Method names clearly communicate the mapping, function, and property initialization tasks; the comment is redundant and contains a minor grammatical error. Code length: The constructor is concise and delegates details appropriately. Action granularity: Each statement performs one action on its own line. Reading flow: The sequence is easy to scan, progressing from superclass initialization through type mappings to functions and default properties.

Run 3

Code Structure: Initialization is logically organized into clearly separated registration methods. Nesting: The constructor is flat, with no nested control flow. Clarity of intent: Descriptive method names make each initialization step understandable, although implementation details are appropriately delegated. Code length: The constructor is concise and contains no unnecessary logic; the comment largely repeats its signature. Action granularity: Each line performs a single method call. Reading flow: The sequence naturally progresses from superclass initialization through type mappings, functions, and default properties. Minor documentation issues, including 'a Oracle8iDialect' rather than 'an Oracle8iDialect,' slightly reduce polish.