Sample
Dorn/java/123
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0 | 0–1; higher is more readable | 46.5Δ 39.6 |
| Scalabrino | 0.74 | 0–1; higher is more readable | 81.0Δ 5.1 |
| Dorn | 0.647 | 0–1; higher is more readable | 57.9Δ 28.1 |
| Mi | 0.707 | 0–1; higher is more readable | 85.5Δ 0.6 |
| LLOC | 9 | Logical lines; fewer is more readable | 61.3Δ 24.8 |
| DeepSeek V4 Pro | 11.67 | 0–20; mean of three runs | 51.4Δ 34.7 |
| GPT-6.1 Sol | 16 | 0–20; mean of three runs | 66.0Δ 20.1 |
| BTTF | 0.548 | 0–1; higher is more readable | 58.5Δ 27.6 |
| Human | 3.87 | 1–5; original rating | 86.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. | 774.83 | −25.569 |
| Source linesThe number of non-empty source lines. | 29 | +11.6 |
| 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.714 | −7.071 |
Intercept 8.87 + feature contributions = -12.171 (log-odds).
Score = sigmoid(-12.171) = 0.
| Score | 0.74 |
|---|
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 92 | +0.68 |
| 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. | 91.9 | −0.227 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 27 | −0.199 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 27 | +0.197 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.085 | +0.116 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 30 | −0.026 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 28.828 | −0.007 |
Intercept 0.07 + feature contributions = 0.604 (log-odds).
Score = sigmoid(0.604) = 0.647.
| Score | 0.707 |
|---|
| Score | 9 |
|---|
Run 1
The code is functional but has readability issues. It is reasonably structured with clear step-by-step setup for a test UI, and lines are generally focused on one action each. However, it includes unused imports, excessive blank lines, and an empty javadoc comment adding noise. The main method does too much without helper methods, and variable/class naming is somewhat cryptic (e.g., 'props', 'panel'). No comments explain why certain steps (like initializing ApplicationArguments) are necessary. The flow is mostly linear and understandable, but the lack of encapsulation and cleanup reduces clarity.
Run 2
The code generally follows a logical structure with a clear main method flow, but there are several readability issues. There is excessive blank space after the class declaration and between lines, which disrupts visual flow. The method is flat, which is positive, but the code lacks clear intent - there are no comments explaining the test UI setup or why specific components are being instantiated. The action granularity is mostly one action per line, which is good. However, the code uses hardcoded values (frame size 500x300) without explanation. The class name and structure suggest it's a test UI, but the purpose isn't immediately clear to a reader. Variable names are somewhat clear but could be more descriptive (e.g., 'panel' instead of 'connectionPropertiesPanel'). Overall, while the basic structure is sound, the lack of meaningful comments, excessive whitespace, and unclear purpose make this code moderately difficult to read.
Run 3
The code is generally clear and well-structured. It has a logical flow: initialize, create components, assemble, and display. Nesting is minimal, and each action is on its own line, which aids readability. However, the method is missing a closing brace, which is a structural issue. There are also some minor inconsistencies, such as excessive blank lines and inconsistent spacing (e.g., `frame.setSize(500,300)` vs other calls). The intent is clear, but a brief comment explaining the test setup would improve clarity. Overall, the code is easy to follow, but the missing brace and minor formatting issues prevent a higher score.
Run 1
Code Structure: Initialization, component creation, and frame configuration are logically grouped, but the snippet lacks closing braces for the method and class. Nesting: Minimal nesting makes it easy to scan. Clarity of intent: The class name, frame title, and component names clearly identify a test UI; the empty @param documentation adds little value. Code length: Short and appropriately concise, although excessive blank lines introduce visual clutter. Action granularity: Each statement performs one action, aiding comprehension. Reading flow: Mostly natural and sequential; setting the close operation before making the frame visible would provide a cleaner setup-then-display sequence. Inconsistent whitespace slightly reduces polish.
Run 2
Code Structure: The main method logically groups initialization, model and panel creation, and frame setup, but the snippet lacks closing braces. Nesting: Flat statements within a single method make it easy to follow. Clarity of intent: Descriptive class names, variable names, and the window title clearly identify a UI test; the empty parameter documentation adds little value. Code length: Concise overall, though excessive blank lines introduce visual noise. Action granularity: Each statement performs one clear action. Reading flow: Setup proceeds naturally toward displaying the window, but configuring the close operation before making the frame visible would improve the sequence. Inconsistent whitespace slightly reduces polish.
Run 3
Code Structure: The setup follows a logical sequence, but missing closing braces leave the snippet structurally incomplete. Nesting: Minimal nesting makes it easy to scan. Clarity of intent: Class names, variable names, and the frame title clearly identify a test UI for connection properties; the empty parameter comment adds no value. Code length: Short and focused, though excessive blank lines introduce visual clutter. Action granularity: Each statement performs a single action on its own line. Reading flow: Initialization, component creation, and display proceed naturally, but setting the close operation before making the frame visible would improve the sequence. Inconsistent whitespace slightly reduces polish.