Sample
Scalabrio20
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0 | 0–1; higher is more readable | 21.1Δ 45.0 |
| Scalabrino | 0.676 | 0–1; higher is more readable | 67.8Δ 1.8 |
| Dorn | 0.31 | 0–1; higher is more readable | 38.2Δ 27.9 |
| Mi | 0.311 | 0–1; higher is more readable | 59.3Δ 6.8 |
| LLOC | 21 | Logical lines; fewer is more readable | 23.1Δ 43.0 |
| DeepSeek V4 Pro | 16.67 | 0–20; mean of three runs | 85.7Δ 19.6 |
| GPT-6.1 Sol | 18 | 0–20; mean of three runs | 83.7Δ 17.6 |
| BTTF | 0.742 | 0–1; higher is more readable | 96.5Δ 30.4 |
| Human | 3.89 | 1–5; original rating | 66.1 |
Views
Select the downloaded ZIP or its extracted folder. Files stay in your browser.
Loading feature diagnosis…
Source regions
Feature contributions
Feature contributions
| Feature | Value | Contribution (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. | 1247.12 | −41.155 |
| Source linesThe number of non-empty source lines. | 28 | +11.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.201 | −7.801 |
Intercept 8.87 + feature contributions = -28.886 (log-odds).
Score = sigmoid(-28.886) = 0.
| Score | 0.676 |
|---|
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 109 | +0.954 |
| 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. | 108.893 | −0.947 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 1 | −0.703 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 26 | −0.176 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 28 | +0.045 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 26.955 | −0.033 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.098 | −0.011 |
Intercept 0.07 + feature contributions = -0.801 (log-odds).
Score = sigmoid(-0.801) = 0.31.
| Score | 0.311 |
|---|
| Score | 21 |
|---|
Run 1
The code is highly readable due to its clear, consistent structure. Each type registration is on its own line, making the mapping between Java types and SQL types easy to scan. The constructor follows a logical sequence: column types, then functions, then properties. Nesting is minimal, and the intent is unambiguous. The formatting is clean, with aligned parameters and sensible spacing. Minor deductions: repeated method calls introduce some verbosity, the comment is redundant, and there is slight inconsistency in whitespace before the function registrations. Overall, the code is straightforward, maintainable, and easy to follow.
Run 2
The code is generally readable and well-structured. It clearly registers column types and functions in a logical sequence, with one action per line and consistent formatting. The method name and Javadoc indicate intent. However, there are minor issues: the Javadoc uses tabs instead of standard spacing, and there is an extra blank line before closing the constructor. The repeated registerColumnType calls are predictable but somewhat verbose—though acceptable for a dialect setup. Nesting is essentially flat, and reading flow is natural. Overall, it is readable but loses points for inconsistent indentation and minor formatting inconsistencies.
Run 3
The code is highly readable. It has a clear, single purpose: registering column types and functions for an Interbase dialect. The structure is logical and flat—no nested blocks. Each registration is a single action on its own line, with consistent formatting and spacing. Intent is obvious from method and function names. While the constructor is moderately long, the repetitive nature is inherent to dialect configuration and does not harm readability. Reading flow is natural and easy to scan.
Run 1
Code Structure: Logically organized into column-type registrations, function registrations, and default configuration, separated by blank lines. Nesting: Flat constructor body with no branching or nested control flow. Clarity of intent: Descriptive method names and explicit mappings make the purpose clear, though SQL placeholders and function constructor arguments require domain knowledge. Code length: Concise for the number of mappings; repetition is appropriate for declarative registration. Action granularity: Each statement performs one registration or configuration action on its own line. Reading flow: Consistent formatting and sequential setup make scanning easy. Minor weaknesses include uneven spacing in the concat registration, limited visual grouping within the type mappings, and a redundant constructor comment with a grammatical error.
Run 2
Code Structure: Logically organized into column-type registrations, function registrations, and default configuration, separated by blank lines. Nesting: Flat constructor body with no nested control flow. Clarity of intent: Descriptive method names and explicit SQL mappings make the purpose clear; the constructor comment adds little information. Code length: Concise for the number of mappings, with necessary repetition rather than unnecessary logic. Action granularity: Each statement performs one registration or configuration action. Reading flow: Consistent formatting and sequential initialization make the code easy to scan, although grouping related column types more systematically and improving spacing in the concat registration would enhance readability.
Run 3
Code Structure: The constructor logically groups column-type registrations, function registrations, and default properties, with blank lines separating sections. Nesting: The body is flat, with no conditional or loop nesting. Clarity of intent: Descriptive method names and explicit type mappings clearly communicate dialect initialization; the constructor comment adds little value. Code length: The length is appropriate for the required mappings, although the repeated registrations are visually monotonous. Action granularity: Each statement performs one registration or configuration action. Reading flow: Execution proceeds naturally from superclass initialization through mappings and functions to configuration. Minor weaknesses include long function-registration lines, inconsistent spacing within argument lists, and no section labels explaining the groups.