Sample
Scalabrio74
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0 | 0–1; higher is more readable | 0.0Δ 0.0 |
| Scalabrino | 0.246 | 0–1; higher is more readable | 20.6Δ 20.6 |
| Dorn | 0.007 | 0–1; higher is more readable | 2.5Δ 2.5 |
| Mi | 0 | 0–1; higher is more readable | 1.0Δ 1.0 |
| LLOC | 11 | Logical lines; fewer is more readable | 63.1Δ 63.1 |
| DeepSeek V4 Pro | 6.33 | 0–20; mean of three runs | 3.0Δ 3.0 |
| GPT-6.1 Sol | 12 | 0–20; mean of three runs | 3.0Δ 3.0 |
| BTTF | 0 | 0–1; higher is more readable | 0.0Δ 0.0 |
| Human | 1.89 | 1–5; original rating | 0.0 |
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. | 2893.113 | −95.473 |
| Source linesThe number of non-empty source lines. | 32 | +12.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.703 | −7.054 |
Intercept 8.87 + feature contributions = -80.857 (log-odds).
Score = sigmoid(-80.857) = 0.
| Score | 0.246 |
|---|
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. | 230 | −6.077 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 230 | +2.906 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.178 | −0.785 |
| 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. | 30 | −0.268 |
| 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. | 30.81 | +0.021 |
Intercept 0.07 + feature contributions = -4.896 (log-odds).
Score = sigmoid(-4.896) = 0.007.
| Score | 0 |
|---|
| Score | 11 |
|---|
Run 1
The code is only partially readable. The byte array comparison at the top has a clear logical flow, though the nested if statements and inconsistent spacing hinder readability. However, the massive return statement with many null checks and comparisons is overwhelming, with multiple actions per line and a long, hard-to-follow boolean expression. It demonstrates a common but unreadable pattern of chained null-safe equality checks. The commented-out code adds clutter. Overall, the structure is logical but verbose and lacks helper methods to encapsulate repeated null-check patterns, making it difficult to scan and verify for correctness.
Run 2
The code has some positive aspects: it handles null checks explicitly, uses early returns in the byte-array comparison, and generally maintains one action per line in the final boolean chain. However, it suffers from major readability issues. The final return statement is an extremely long chain of 20+ conditions, making it difficult to scan and verify. The intent of the method—comparing two objects field-by-field—is obscured by repetitive null-checking patterns nested inside parentheses. The byte-array block uses inconsistent spacing and a loop that could be replaced with java.util.Arrays.equals, as is already done for the 'binary' field. The commented-out date and timestamp logic suggests unfinished or dead code. Nesting is moderate, but the overall structure is disorganized: early returns for one field, then a massive boolean expression for everything else. Reading flow suffers due to the wall of conditions and inconsistent formatting. The method is not unnecessarily long in terms of line count, but the density of the final expression makes it feel bloated and fragile.
Run 3
The code has significant readability issues. The structure is tangled: the equalsFoo method mixes an array comparison block with a massive boolean chain. The initial byte-array comparison is deeply nested (three levels) and uses inconsistent brace style, making it hard to follow. The long return statement packs dozens of field comparisons into one expression with wide formatting and inconsistent whitespace. Clarity of intent is poor—null checks, reference equality, and content equality are mixed without helper methods. Code length is excessive for the logic, and action granularity is violated by multiple operations per line (e.g., arrays, custom, blob comparisons). Reading flow is disorganized due to inline commented-out blocks and inconsistent punctuation. Only the flat-ish boolean chain avoids extreme nesting.
Run 1
Code Structure: Logically separates byte-array comparison from remaining field comparisons, but the large return expression is cumbersome. Nesting: Moderate nesting in the array check; early returns limit complexity elsewhere. Clarity of intent: Field-by-field equality is apparent, though vague field names, inconsistent null handling, and commented-out comparisons obscure details. Code length: Repeated identity-or-equals patterns and obsolete comments make the method unnecessarily long. Action granularity: Most comparisons occupy separate lines, but inline conditionals and compound comparisons pack multiple checks together. Reading flow: Comparisons follow a predictable sequence, yet excessive parentheses, inconsistent spacing, long lines, and commented-out code interrupt scanning.
Run 2
Code Structure: Logically separates byte-array comparison from other field comparisons, but the large return expression is cumbersome. Nesting: Mostly flat, with moderate nesting in the array loop and heavily parenthesized conditions. Clarity of intent: Equality checking is evident, though inconsistent comparison strategies and implicit null assumptions make details harder to interpret. Code length: Repetitive comparisons and long commented-out conditions add unnecessary bulk; standard equality helpers could simplify it. Action granularity: Most field comparisons occupy separate lines, but inline conditional returns and compound comparisons compress multiple operations. Reading flow: Early returns and a consistent conjunction sequence help, while inconsistent spacing, excessive parentheses, and commented-out code interrupt scanning.
Run 3
Code Structure: Logically separates byte-array comparison from field comparisons, but the large return expression is difficult to scan. Nesting: Moderate nesting in the array loop; early returns avoid deeper branching. Clarity of intent: Equality checking is clear, though inconsistent comparison strategies and implicit null assumptions complicate interpretation. Code length: Repeated identity-or-equals checks and long commented-out comparisons add unnecessary bulk. Action granularity: Most comparisons occupy separate lines, but inline conditional returns and the compound custom-array comparison compress multiple operations. Reading flow: Field-by-field progression is predictable, but excessive parentheses, inconsistent spacing, and commented-out code interrupt readability.