Sample
Dorn/java/187
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0 | 0–1; higher is more readable | 50.7Δ 25.9 |
| Dorn | 0.124 | 0–1; higher is more readable | 8.9Δ 15.9 |
| Mi | 0.179 | 0–1; higher is more readable | 18.7Δ 6.1 |
| LLOC | 12 | Logical lines; fewer is more readable | 53.6Δ 28.8 |
| DeepSeek V4 Pro | 8.67 | 0–20; mean of three runs | 32.7Δ 7.9 |
| GPT-6.1 Sol | 13 | 0–20; mean of three runs | 30.6Δ 5.8 |
| BTTF | 0.28 | 0–1; higher is more readable | 13.1Δ 11.7 |
| Human | 2.92 | 1–5; original rating | 24.8 |
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. | 728.959 | −24.056 |
| Source linesThe number of non-empty source lines. | 30 | +12 |
| 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.508 | −6.762 |
Intercept 8.87 + feature contributions = -9.947 (log-odds).
Score = sigmoid(-9.947) = 0.
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. | 109 | −0.952 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 0 | −0.804 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 30 | −0.268 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 16 | −0.184 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.08 | +0.166 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 29 | +0.01 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 29.864 | +0.008 |
Intercept 0.07 + feature contributions = -1.954 (log-odds).
Score = sigmoid(-1.954) = 0.124.
| Score | 0.179 |
|---|
| Score | 12 |
|---|
Run 1
The code has some structural organization but suffers from unclear logic and inconsistent formatting. The initial lone 'continue' statement lacks surrounding context, making intent ambiguous. While nesting is shallow and actions are generally separated per line, spacing around operators is inconsistent (e.g., missing spaces before !=). The if-else block for procedures could be simplified to a single assignment. Variable names are descriptive, but the repeated schema detail property checks with magic constants reduce clarity. The fragmented snippet makes it hard to assess overall flow, though the linear structure within the visible portion is logical. Improvements in consistent formatting, simplifying conditionals, and adding surrounding context would enhance readability.
Run 2
The code has moderate structure with distinct operations for table types, views, and procedures, but suffers from several readability issues. Nesting is shallow overall, which is good, but there is an orphaned continue statement at the start, indicating a surrounding loop or conditional that is not visible. Intent is partially clear—it builds schema loading information—but the magic constants like SQLAliasSchemaDetailProperties.SCHEMA_LOADING_ID_DONT_LOAD are verbose and repeated, obscuring the core logic. Clarity could be improved by extracting a helper method or using a local variable to check if loading is needed. Length is acceptable, but action granularity is inconsistent; some lines bundle method calls and assignments while others are simple. Reading flow is disrupted by the dangling continue and the unnecessary else block that sets loadProcedures to false redundantly. Overall, the code is not tangled but lacks polish and clean abstractions.
Run 3
The code suffers from several readability issues. It begins with an orphaned 'continue' statement with no visible loop context, making the reading flow disorganized. There are multiple if-blocks with inconsistent formatting (missing spaces before comparison operators, inconsistent brace placement), and the logic for setting tableTypes is repetitive - three separate if blocks that could be consolidated. The condition checks using '!=' with a constant on the left side violate natural reading conventions, making intent harder to grasp. Action granularity is acceptable with one action per line, but the nesting is flat and structure is straightforward. The code has redundancy in initializing tableTypes twice and setting loadProcedures in both if/else branches unnecessarily. Variable names are reasonably clear, but the overall structure feels fragmented and lacks a cohesive purpose.
Run 1
Code Structure: Schema-loading configuration is logically grouped, but the incomplete opening and closing blocks obscure surrounding control flow. Nesting: Visible conditionals are shallow and easy to follow. Clarity of intent: Descriptive names convey the purpose, though long constant comparisons and repeated indexed access add visual noise. Code length: Mostly concise, but the procedure-loading if/else could be replaced by a direct boolean assignment. Action granularity: Each statement performs one clear action. Reading flow: Configuration proceeds naturally from schema name to tables, views, procedures, and collection insertion, but inconsistent spacing, an unnecessary blank line, and the fragmentary boundaries interrupt readability.
Run 2
Code Structure: Schema configuration follows a logical sequence, but the fragment begins with an unexplained continue block and ends with an unmatched closing brace, limiting context. Nesting: The visible conditionals are shallow and easy to follow. Clarity of intent: Descriptive names communicate selective loading of tables, views, and procedures, though long constants and repeated indexed access add visual noise. Code length: Mostly concise, but the procedure-loading if/else could be replaced with a direct boolean assignment. Action granularity: Each statement performs one clear action. Reading flow: Sequential initialization, conditional configuration, and collection insertion flow naturally; inconsistent spacing, an unnecessary blank line, and incomplete surrounding control flow reduce readability.
Run 3
Code Structure: Schema-loading configuration is logically grouped, but the fragment begins with an unexplained continue block and ends with an unmatched closing context. Nesting: The visible conditionals are shallow and easy to follow. Clarity of intent: Descriptive names make table, view, and procedure loading understandable, although repeated long constants and indexed accesses obscure the conditions. Code length: Mostly concise, but the procedure-loading if/else could be replaced with a direct boolean assignment. Action granularity: Each statement performs one clear action. Reading flow: Configuration proceeds naturally from initialization through conditional settings to collection insertion, but inconsistent spacing, an unnecessary blank line, and missing surrounding context interrupt readability.