Sample
JetBrains/e42
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0 | 0–1; higher is more readable | 54.2Δ 49.2 |
| Scalabrino | 0.439 | 0–1; higher is more readable | 27.1Δ 22.0 |
| Dorn | 0.489 | 0–1; higher is more readable | 40.7Δ 35.6 |
| Mi | 0.533 | 0–1; higher is more readable | 59.3Δ 54.2 |
| LLOC | 11 | Logical lines; fewer is more readable | 63.6Δ 58.5 |
| DeepSeek V4 Pro | 12 | 0–20; mean of three runs | 16.1Δ 11.0 |
| GPT-6.1 Sol | 15.67 | 0–20; mean of three runs | 19.9Δ 14.8 |
| BTTF | 0.168 | 0–1; higher is more readable | 2.5Δ 2.5 |
| Human | 0.38 | 0–1; original rating | 5.1 |
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. | 614.724 | −20.286 |
| Source linesThe number of non-empty source lines. | 15 | +6 |
| 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.891 | −5.837 |
Intercept 8.87 + feature contributions = -11.253 (log-odds).
Score = sigmoid(-11.253) = 0.
| Score | 0.439 |
|---|
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. | 72.8 | +0.582 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.152 | −0.532 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 15 | −0.218 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 13.797 | −0.217 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 15 | +0.077 |
Intercept 0.07 + feature contributions = -0.043 (log-odds).
Score = sigmoid(-0.043) = 0.489.
| Score | 0.533 |
|---|
| Score | 11 |
|---|
Run 1
The code is concise and logically structured, using nested loops to generate an ASCII table. The intent is fairly clear, but the naming of 'i'/'j' and hard-coded values (16, 6, 32) obscures the exact purpose. Nesting is shallow, which aids readability. The inner loop mixes computation, a conditional character swap, and printing on separate lines, giving each action its own line—good granularity. However, the flow is slightly compressed, with multiple variables and magic numbers making it harder to follow at a glance. Formatting is consistent, but missing comments or descriptive variable names lowers clarity.
Run 2
The code functions but suffers from readability issues. The outer loop is tightly packed, with semicolons and braces on the same lines, reducing visual separation. The inner loop logic is nested but readable. There is no explanation of why 16 and 6 are used, making the intent unclear. Variable names like 'c' and repeated use of i*6+j make the logic obscure. The block that replaces characters below ASCII 32 with '.' is concise but unexplained. Formatting is inconsistent: the class and method braces are not aligned on new lines, and the closing braces are placed at the end of lines. Overall, it is code-dense and requires careful reading to understand the purpose and behavior, reducing its maintainability. Improvements like descriptive constants, explanatory comments, and clearer formatting would improve score significantly.
Run 3
The code is concise and logically structured, using nested loops to generate a 16x6 ASCII table. Nesting is only two levels deep, which is acceptable. However, clarity of intent is weakened by the use of magic numbers (16, 6, 32) and a non-descriptive class name ('AsciiTable' doesn’t convey the specific table range). The inner loop performs multiple actions per line, like computing the character and replacing control chars, which slightly reduces action granularity. Reading flow is natural from top to bottom, but the lack of comments or named constants makes it harder to immediately understand the purpose. Overall, readable but improvable with better naming and constants.
Run 1
Code Structure: Logically organized into row iteration, character generation, and output. Nesting: Two loops and one conditional create moderate, easily followed nesting. Clarity of intent: The class name and output operations indicate an ASCII table, but unexplained constants (16, 6, 32) and terse variable names obscure the layout and character range. Code length: Compact without unnecessary code. Action granularity: Each statement performs a distinct action, although formatting expressions combine conversion and concatenation. Reading flow: Execution proceeds naturally from row labels to characters to line breaks; inconsistent spacing and minimal documentation slightly reduce readability.
Run 2
Code Structure: Logically organized into row iteration, character generation, and output. Nesting: Two loops and an if statement create moderate, manageable nesting. Clarity of intent: The class name and output operations suggest a character table, but unexplained constants (16, 6, 32) and generic loop variables obscure its layout and range. Code length: Compact without unnecessary statements. Action granularity: Most statements perform one action, although formatting expressions combine conversion, concatenation, and printing. Reading flow: Execution proceeds naturally from row label to characters to newline, but cramped operator spacing and inconsistent formatting reduce scanability.
Run 3
Code Structure: Logically organized into row generation, character generation, and output. Nesting: Two loops and a conditional create moderate, manageable nesting. Clarity of intent: The class name and output operations suggest an ASCII table, but unexplained constants (16, 6, 32), terse variable names, and hexadecimal row labels obscure the exact layout. Code length: Concise without unnecessary statements. Action granularity: Most statements perform one action, although output expressions combine conversion, formatting, and printing. Reading flow: Execution follows a natural top-to-bottom sequence, but cramped operator spacing and the absence of explanatory names or comments slightly reduce readability.