Sample

Scalabrio74

Human rating uses the original dataset scale.

DatasetScalabrino
Human1.89
Lines32

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett00–1; higher is more readable
0.0Δ 0.0
Scalabrino0.2460–1; higher is more readable
20.6Δ 20.6
Dorn0.0070–1; higher is more readable
2.5Δ 2.5
Mi00–1; higher is more readable
1.0Δ 1.0
LLOC11Logical lines; fewer is more readable
63.1Δ 63.1
DeepSeek V4 Pro6.330–20; mean of three runs
3.0Δ 3.0
GPT-6.1 Sol120–20; mean of three runs
3.0Δ 3.0
BTTF00–1; higher is more readable
0.0Δ 0.0
Human1.891–5; original rating
0.0

Views

Download official ZIP ↗

Select the downloaded ZIP or its extracted folder. Files stay in your browser.

Loading feature diagnosis…

Source regions

Feature contributions

Feature contributions

FeatureValueContribution
(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.

Score0.246

Feature contributions

FeatureValueContribution
(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.

Score0
Score11
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.