Sample
Scalabrio169
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0.004 | 0–1; higher is more readable | 79.4Δ 3.5 |
| Scalabrino | 0.463 | 0–1; higher is more readable | 44.2Δ 38.7 |
| Dorn | 0.264 | 0–1; higher is more readable | 35.2Δ 47.7 |
| Mi | 0.843 | 0–1; higher is more readable | 99.0Δ 16.1 |
| LLOC | 14 | Logical lines; fewer is more readable | 49.2Δ 33.7 |
| DeepSeek V4 Pro | 16.33 | 0–20; mean of three runs | 80.9Δ 2.0 |
| GPT-6.1 Sol | 17 | 0–20; mean of three runs | 58.5Δ 24.4 |
| BTTF | 0.681 | 0–1; higher is more readable | 90.5Δ 7.5 |
| Human | 4.22 | 1–5; original rating | 82.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. | 495.158 | −16.34 |
| Source linesThe number of non-empty source lines. | 22 | +8.8 |
| 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.617 | −6.926 |
Intercept 8.87 + feature contributions = -5.596 (log-odds).
Score = sigmoid(-5.596) = 0.004.
| Score | 0.463 |
|---|
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 1 | +1.001 |
| 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 |
| 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. | 99.955 | −0.568 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 1 | +0.398 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.127 | −0.295 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 20.653 | −0.121 |
Intercept 0.07 + feature contributions = -1.023 (log-odds).
Score = sigmoid(-1.023) = 0.264.
| Score | 0.843 |
|---|
| Score | 14 |
|---|
Run 1
The code demonstrates excellent structure and readability. It follows a clear logical progression for equals() implementation: identity check, superclass comparison, class compatibility, and field comparison. Nesting is minimal, with only one necessary null-check conditional. Intent is unambiguous—each guard clause clearly validates a specific equality requirement. The code is concise with no redundancy. Action granularity is appropriate, with one logical check per if statement. Reading flow is natural and sequential. Minor deductions: the method lacks an @Override annotation for equals(Object) in the snippet, and the entity/field naming is verbose (though descriptive). The null-check pattern could potentially be simplified using Objects.equals(), but the current approach remains highly readable.
Run 2
The code is generally readable with clear intent and logical flow for a standard equals implementation. Structure is logical: identity check, superclass comparison, class check, field comparison. Nesting is minimal—only two levels for null-safe field comparison, which is acceptable. Action granularity is mostly one action per line. However, readability is slightly reduced by the verbose null-check block for alternateValue, which could be simplified with Objects.equals. The lack of @Override annotation is a minor issue (likely present but omitted in snippet). Overall, the method is conventional and easy to follow, but the null-handling section adds unnecessary length compared to more concise alternatives.
Run 3
The code is logically structured and follows a standard equals() pattern. It uses flat nesting with early returns, making the flow easy to follow. Each condition is separated on its own line, and action granularity is clear. The null-check on alternateValue is slightly nested but still readable. Clarity of intent is good, though the entity name is long and reduces readability slightly. Overall, the code is concise and follows common Java conventions.
Run 1
Code Structure: Logically organized equality checks with early returns. Nesting: Mostly flat, with only one nested null-handling condition. Clarity of intent: The standard equals pattern clearly communicates the purpose, though null safety depends on super.equals rejecting null. Code length: Reasonably concise, but the final comparison could be simplified using Objects.equals. Action granularity: Each statement performs one action. Reading flow: Checks progress naturally from identity to superclass equality, class compatibility, and field equality. The long entity type name and slightly verbose null comparison modestly reduce readability.
Run 2
Code Structure: A conventional equals implementation, logically organized around identity, superclass equality, type, and field comparison. Nesting: Mostly flat early returns, with only one nested null-check block. Clarity of intent: Equality checks are explicit and easy to understand, though null safety depends on superclass behavior. Code length: Reasonably concise, but the field comparison could be shortened using Objects.equals. Action granularity: Each statement performs one clear action. Reading flow: Checks proceed naturally from general identity to specific state comparison; the long entity type name and slightly verbose null handling add minor reading overhead.
Run 3
Code Structure: Logically organized equality checks with early returns. Nesting: Mostly flat, with only one nested null-check branch. Clarity of intent: The standard equals pattern makes the purpose clear, though superclass behavior must be understood. Code length: Reasonably concise, but the final null-safe comparison could be simplified with Objects.equals. Action granularity: Each statement performs a single action. Reading flow: Checks progress naturally from identity to superclass equality, class compatibility, and field equality. The long entity type name and slightly verbose null handling add minor reading friction.