Sample
Scalabrio40
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0 | 0–1; higher is more readable | 48.2Δ 34.7 |
| Scalabrino | 0.877 | 0–1; higher is more readable | 92.5Δ 9.5 |
| Dorn | 0.739 | 0–1; higher is more readable | 82.9Δ 0.0 |
| Mi | 0.644 | 0–1; higher is more readable | 84.9Δ 2.0 |
| LLOC | 24 | Logical lines; fewer is more readable | 14.1Δ 68.8 |
| DeepSeek V4 Pro | 17 | 0–20; mean of three runs | 90.2Δ 7.3 |
| GPT-6.1 Sol | 18 | 0–20; mean of three runs | 83.7Δ 0.8 |
| BTTF | 0.637 | 0–1; higher is more readable | 78.4Δ 4.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. | 1042.751 | −34.411 |
| Source linesThe number of non-empty source lines. | 40 | +16 |
| Byte entropyHow varied the bytes in the source text are. Repeated bytes give a lower value; a more even mixture gives a higher value. | 3.887 | −5.831 |
Intercept 8.87 + feature contributions = -15.372 (log-odds).
Score = sigmoid(-15.372) = 0.
| Score | 0.877 |
|---|
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. | 63.925 | +0.958 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 34 | +0.439 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 40 | −0.38 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 34 | −0.359 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 62.4 | +0.202 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 38.923 | +0.134 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.099 | −0.022 |
Intercept 0.07 + feature contributions = 1.042 (log-odds).
Score = sigmoid(1.042) = 0.739.
| Score | 0.644 |
|---|
| Score | 24 |
|---|
Run 1
The code is highly readable. It follows a clear logical structure: identity check, type check, key comparisons, then value-by-value comparison. The early returns prevent nesting and keep the main logic flat. Intent is obvious from method and variable names. The nested loops have a clear purpose, and the null-handling is cleanly separated from normal equality checks. Lines are short and perform one action each, improving readability. Minor deductions: the loop could be extracted into a helper method for even better structure, and there is some unavoidable nested logic in the value comparison, but overall it is concise, natural, and easy to follow.
Run 2
The code demonstrates good structure and readability. The equals method follows a logical sequence: reference check, type check, key comparison, then value comparison. Nesting is moderate; the nested loops are necessary but the innermost conditional has an extra nesting level that could be flattened. Intent is clear - checking equality for a category dataset. The code is appropriately concise without being terse. Action granularity is good - each comparison and check is on its own line, enhancing readability. The reading flow is natural and follows the standard equals contract pattern. The null handling is slightly nested but acceptable. Overall, this is readable code with minor room for improvement in the innermost conditional structure.
Run 3
The code is highly readable. It follows a logical structure: identity check, type check, key comparisons, then element-wise comparison. Nesting is shallow, with only one level inside the nested loops. Intent is clear from the method name and well-structured early returns. Code length is concise and proportional to the task. Each line performs a single action, such as checking keys or comparing values. Reading flow is natural—guard clauses appear first, followed by the core comparison logic. Minor improvements could include extracting the null-handling comparison into a helper method, but overall it is exceptionally clear.
Run 1
Code Structure: Logically organized into identity and type checks, key comparisons, and cell-value comparisons. Nesting: Early returns keep most checks flat, though nested loops and null handling introduce moderate depth. Clarity of intent: The equals method, documentation, and explicit comparisons make the purpose clear; v1 and v2 are slightly generic names. Code length: Concise for the required checks, with minor potential to simplify null-safe comparison. Action granularity: Each statement performs a single action, making execution easy to follow. Reading flow: Checks progress naturally from inexpensive validation to detailed comparison, ending with a clear success return.
Run 2
Code Structure: Logically organized into identity, type, key, and value comparisons, with early returns avoiding tangled control flow. Nesting: Mostly flat initially, but nested loops and null checks introduce moderate depth. Clarity of intent: The method name, documentation, and comparison sequence clearly express dataset equality; v1 and v2 are slightly generic names. Code length: Concise for the task, although a null-safe equality helper could shorten the value comparison. Action granularity: Each statement performs one clear action, with conventional loop headers. Reading flow: Natural progression from inexpensive checks to detailed comparisons, ending with success after all checks pass.
Run 3
Code Structure: Logically organized into identity/type checks, key comparisons, and value comparisons. Nesting: Early returns keep most checks flat, though nested loops and null handling create moderate nesting. Clarity of intent: The method signature, documentation, and comparison sequence clearly communicate dataset equality; v1 and v2 are slightly generic names. Code length: Appropriately concise, with minor verbosity in explicit null handling. Action granularity: Each statement performs a single clear action, and conditions are easy to inspect. Reading flow: The progression from inexpensive preliminary checks to element-by-element comparison is natural and predictable.