Sample
JetBrains/i42
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0 | 0–1; higher is more readable | 49.2Δ 35.2 |
| Scalabrino | 0.422 | 0–1; higher is more readable | 24.6Δ 10.6 |
| Dorn | 0.515 | 0–1; higher is more readable | 49.2Δ 35.2 |
| Mi | 0.343 | 0–1; higher is more readable | 28.8Δ 14.8 |
| LLOC | 11 | Logical lines; fewer is more readable | 63.6Δ 49.6 |
| DeepSeek V4 Pro | 16.67 | 0–20; mean of three runs | 62.3Δ 48.3 |
| GPT-6.1 Sol | 17 | 0–20; mean of three runs | 46.2Δ 32.2 |
| BTTF | 0.27 | 0–1; higher is more readable | 6.8Δ 7.2 |
| Human | 0.45 | 0–1; original rating | 14.0 |
Views
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. | 655.132 | −21.619 |
| Source linesThe number of non-empty source lines. | 16 | +6.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. | 3.816 | −5.725 |
Intercept 8.87 + feature contributions = -12.074 (log-odds).
Score = sigmoid(-12.074) = 0.
| Score | 0.422 |
|---|
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 |
| 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. | 75 | +0.489 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.134 | −0.364 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 14.829 | −0.203 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 16 | −0.184 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 16 | +0.054 |
Intercept 0.07 + feature contributions = 0.059 (log-odds).
Score = sigmoid(0.059) = 0.515.
| Score | 0.343 |
|---|
| Score | 11 |
|---|
Run 1
The code is highly readable. It has a clear, logical structure with an outer loop for hex digits and an inner loop for characters per row. Nesting is minimal—only two levels deep, with a simple if-else for the DEL special case. The purpose is evident: printing an ASCII table in hex format. Code length is concise, with no unnecessary lines or comments. Action granularity is mostly one action per line, making each step easy to follow. Reading flow is natural, from top to bottom: loop setup, printing the header, computing values, handling the exception, and printing the row. Minor clarity improvements could include a constant for 127 or a brief comment, but overall it is very clear and maintainable.
Run 2
The code is concise and logically structured, using nested loops to generate a hexadecimal ASCII table. The outer loop iterates rows, while the inner loop handles columns, making the organization clear. Nesting is shallow—just two levels—which aids readability. Intent is clear: display hex values alongside corresponding characters, with special handling for DEL (127). Action granularity is good, with one main operation per line. The reading flow is natural, moving from row header to character output, then to a newline. Minor improvements could include using constants for magic numbers (16, 8, 127) and adding comments to explain the table's purpose, but overall the code is highly readable and maintainable.
Run 3
The code is fairly readable. Structure is logical: a clear outer loop for rows and inner loop for columns, with a simple conditional for the DEL character. Nesting is shallow (two levels), which is good. Intent is mostly clear—it prints a hex ASCII table—though a brief comment explaining the 16x8 layout would help. Code length is appropriate for the task. Action granularity is fine: each line does one clear thing. Reading flow is natural, following the table's row-column progression. Minor deductions: variable names like i, j, value are generic, and the formula i * 8 + j is not self-documenting. The special-case check for 127 could be more explicit about why DEL needs handling.
Run 1
Code Structure: Logically organized around printing rows and their character values. Nesting: Two loops and an if/else create moderate, manageable nesting. Clarity of intent: The class name, hexadecimal row labels, and explicit DEL handling convey the purpose, though i and j are generic, 16 and 8 are unexplained constants, and other ASCII control characters are printed directly. Code length: Concise, with no unnecessary statements. Action granularity: Each statement performs one main action; expressions combine closely related conversion and formatting operations. Reading flow: Natural progression from row label to character values to newline, supported by consistent indentation.
Run 2
Code Structure: A single, logically organized method generates rows and their character values. Nesting: Two loops and one conditional create moderate, manageable nesting. Clarity of intent: The class name and DEL handling communicate the purpose, though magic numbers 16, 8, and 127 lack explanation, and printing control characters may obscure the intended table output. Code length: Concise, with no unnecessary code. Action granularity: Each statement performs one focused action; inline conversion and formatting remain easy to follow. Reading flow: Consistent indentation and the header-values-newline sequence make execution natural to read.
Run 3
Code Structure: Logically organized into row generation, character output, and line termination. Nesting: Two loops and one conditional create moderate, manageable nesting. Clarity of intent: The class name and DEL handling communicate an ASCII-table purpose, though magic numbers and terse loop variables require interpretation. Printing control characters directly can make the intended output less obvious. Code length: Concise, with no unnecessary logic. Action granularity: Each statement performs a single main action; inline formatting expressions remain straightforward. Reading flow: Execution proceeds naturally from row labels to character values to newlines, supported by consistent indentation.