Sample
Scalabrio19
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0.896 | 0–1; higher is more readable | 97.0Δ 23.6 |
| Scalabrino | 0.696 | 0–1; higher is more readable | 71.4Δ 2.0 |
| Dorn | 0.875 | 0–1; higher is more readable | 98.5Δ 25.1 |
| Mi | 0.734 | 0–1; higher is more readable | 93.5Δ 20.1 |
| LLOC | 8 | Logical lines; fewer is more readable | 76.9Δ 3.5 |
| DeepSeek V4 Pro | 18.33 | 0–20; mean of three runs | 99.7Δ 26.4 |
| GPT-6.1 Sol | 19 | 0–20; mean of three runs | 98.0Δ 24.6 |
| BTTF | 0.67 | 0–1; higher is more readable | 86.9Δ 13.6 |
| Human | 4 | 1–5; original rating | 73.4 |
Views
Loading feature diagnosis…
Source regions
Feature contributions
Feature contributions
| Feature | Value | Contribution (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.
| Score | 0.696 |
|---|
Feature contributions
| Feature | Value | Contribution (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.
| Score | 0.734 |
|---|
| Score | 8 |
|---|
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.