Sample
Scalabrio131
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0 | 0–1; higher is more readable | 8.5Δ 26.4 |
| Scalabrino | 0.389 | 0–1; higher is more readable | 35.7Δ 0.8 |
| Dorn | 0.06 | 0–1; higher is more readable | 11.1Δ 23.9 |
| Mi | 0.062 | 0–1; higher is more readable | 25.1Δ 9.8 |
| LLOC | 26 | Logical lines; fewer is more readable | 10.1Δ 24.9 |
| DeepSeek V4 Pro | 15 | 0–20; mean of three runs | 61.6Δ 26.6 |
| GPT-6.1 Sol | 17 | 0–20; mean of three runs | 58.5Δ 23.6 |
| BTTF | 0.533 | 0–1; higher is more readable | 50.3Δ 15.3 |
| Human | 3.33 | 1–5; original rating | 34.9 |
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. | 1721.409 | −56.806 |
| Source linesThe number of non-empty source lines. | 31 | +12.4 |
| 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.773 | −7.16 |
Intercept 8.87 + feature contributions = -42.696 (log-odds).
Score = sigmoid(-42.696) = 0.
| Score | 0.389 |
|---|
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. | 112 | −1.079 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 0 | −0.804 |
| 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. | 29 | −0.245 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.09 | +0.071 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 31 | −0.061 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 29.885 | +0.008 |
Intercept 0.07 + feature contributions = -2.743 (log-odds).
Score = sigmoid(-2.743) = 0.06.
| Score | 0.062 |
|---|
| Score | 26 |
|---|
Run 1
The test is well-structured and readable. It follows a clear pattern: setup, action, assertions, cleanup. The use of properties and the try-finally block shows good organization. Nesting is minimal—only one try block—keeping the flow flat. Intent is clear from the method name and comments. Code length is appropriate for the number of configuration settings being verified. Each assertion is on its own line, and property settings are one per line, enhancing clarity. The reading flow is logical and sequential. Minor improvement could be extracting repeated strings into constants for even better readability, but overall this is highly maintainable and clear.
Run 2
The code is moderately readable. It follows a logical test structure and uses descriptive variable names, but several issues reduce clarity. The method name is verbose, and there are many setProperty lines that could be grouped or commented more effectively. Nesting is minimal, which is good, but the test has many assertions that are not grouped or labeled, making the intent harder to follow at a glance. The comment is helpful but could be more concise. Action granularity is generally one action per line, but the sequence of property setting and assertions is repetitive. Overall, the code is understandable but would benefit from clearer grouping, shorter method name, or helper methods to reduce clutter.
Run 3
The test method has a clear purpose and follows a logical sequence, but readability is hampered by several factors. The method uses repetitive long property key strings, which make the setup verbose and hard to scan. Multiple assertions are grouped together without blank lines or comments, reducing clarity about which behavior is being verified. The test method mixes setup, action, and verification in a single block, with some assertions before and some after the main action (buildEntityRegion), which disrupts the reading flow. Nesting is minimal, but the try/finally block adds structure without excessive depth. Action granularity is generally one action per line, though comments are sparse. Overall, the code is understandable but would benefit from helper methods or constants for property keys, separation of setup/action/assert phases, and more descriptive comments.
Run 1
Code Structure: Logically organized into configuration setup, factory creation, assertions, and cleanup, though blank lines would better distinguish phases. Nesting: Shallow, with only a try/finally block. Clarity of intent: The descriptive test name and explicit assertions communicate override behavior, but the terse variable p, repetitive property strings, and comment referring to a 'Third option' add ambiguity. Code length: Reasonably concise for the configuration coverage, although repeated prefixes create visual noise. Action granularity: Each statement performs one clear action. Reading flow: Naturally progresses from setup through verification to guaranteed cleanup; grouping pre-build and post-build assertions more visibly would improve scanning.
Run 2
Code Structure: Logically organized into property setup, factory creation, verification, and guaranteed cleanup, though blank lines would better distinguish phases. Nesting: Shallow try/finally structure is easy to follow. Clarity of intent: The descriptive test name and explicit assertions communicate override behavior, but the lengthy comment, abbreviated variable p, and unexplained numeric values reduce clarity. Code length: Reasonably concise for the scenario, although repetitive property prefixes add visual noise. Action granularity: Each statement performs one action, making setup and assertions easy to inspect. Reading flow: Natural setup-to-verification progression with cleanup at the end; repeated override assertions and the standalone getCacheManager() call slightly interrupt the flow.
Run 3
Code Structure: Logically organized into configuration setup, region creation, assertions, and cleanup, though blank lines would better distinguish these phases. Nesting: Shallow, with only a try/finally block. Clarity of intent: The descriptive test name and explicit assertions communicate override behavior, but the name is cumbersome, 'p' is vague, and the comment's 'Third option' lacks context. Code length: Reasonably concise for the scenario, although repeated property prefixes add visual noise. Action granularity: Each statement performs one clear action on its own line. Reading flow: Follows a natural setup-test-cleanup sequence, with reliable cleanup in finally; the unexplained getCacheManager() call and repeated assertion slightly interrupt the flow.