Sample
JetBrains/i53
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0 | 0–1; higher is more readable | 7.6Δ 28.0 |
| Scalabrino | 0.059 | 0–1; higher is more readable | 0.0Δ 35.6 |
| Dorn | 0.383 | 0–1; higher is more readable | 28.8Δ 6.8 |
| Mi | 0.158 | 0–1; higher is more readable | 11.9Δ 23.7 |
| LLOC | 22 | Logical lines; fewer is more readable | 17.4Δ 18.2 |
| DeepSeek V4 Pro | 4.33 | 0–20; mean of three runs | 0.0Δ 35.6 |
| GPT-6.1 Sol | 11.33 | 0–20; mean of three runs | 2.5Δ 33.1 |
| BTTF | 0.335 | 0–1; higher is more readable | 16.9Δ 18.6 |
| Human | 0.65 | 0–1; original rating | 35.6 |
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. | 1417.446 | −46.776 |
| Source linesThe number of non-empty source lines. | 29 | +11.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. | 4.116 | −6.175 |
Intercept 8.87 + feature contributions = -32.48 (log-odds).
Score = sigmoid(-32.48) = 0.
| Score | 0.059 |
|---|
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. | 102 | −0.655 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 29 | +0.266 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 29 | −0.245 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.106 | −0.09 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 27.786 | −0.021 |
Intercept 0.07 + feature contributions = -0.479 (log-odds).
Score = sigmoid(-0.479) = 0.383.
| Score | 0.158 |
|---|
| Score | 22 |
|---|
Run 1
The code has poor readability. The purpose is unclear and the algorithm is tangled: the loop modifies both the sequence array and the loop counter i, which is confusing. Key variables like 'count' and 'length' are used in ambiguous ways, and the logic for updating the sequence is opaque. The code also repeats operations such as `count % 2` instead of using a clear state variable. Nesting is shallow, but action granularity is poor—multiple operations occur per line without separation. There are unused variables (`fraction`) and no comments explaining intent. Overall, the code is difficult to follow, debug, or maintain.
Run 2
The code is difficult to read due to lack of logical structure, ambiguous variable naming, and tangled control flow. The main loop mixes sequence generation, binary output, numerator/denominator updates, and sequence mutation in a way that obscures intent. The array reassignment inside the loop (sequence = new int[]{...}) is especially confusing. Nesting is shallow, which is positive, but action granularity is inconsistent—some lines bundle several operations. The reading flow is unnatural because the loop modifies its own control variable (++i), and the purpose of gcd simplification is unclear in context. Code length is moderate, but it does not compensate for the poor clarity. Overall, the code requires substantial mental effort to understand.
Run 3
The code is very hard to read due to unclear variable names (numerator, denominator, count) that do not reveal their purpose, tangled logic in the main loop, and confusing mutation of the sequence array. The loop condition and manual index manipulation (++i inside the loop) create disorganized control flow. Several operations appear unrelated to the printed binary string, and the final fraction is never printed, increasing ambiguity. The code is not deeply nested but lacks logical structure and clear intent. Multiple actions occur on single lines, and the overall reading flow is poor. Concision is achieved, but at the cost of clarity. There is no explanation of what the algorithm does, making intent difficult to infer. Overall, the code would require significant effort for a reader to understand, hence the low score.
Run 1
Code Structure: Initialization, iteration, and fraction simplification are logically ordered, but all responsibilities share one main method, and the computed fraction is unused. Nesting: A single loop with shallow conditionals keeps nesting manageable. Clarity of intent: Descriptive arithmetic variable names help, but the sequence-generation logic, count's changing role, and the unexplained limit of 1000 obscure the purpose. Code length: Relatively concise, although unused fraction calculations add unnecessary reading. Action granularity: Most lines perform one action, but ++count inside a condition combines mutation and comparison, while incrementing i inside the loop complicates control flow. Reading flow: Formatting is consistent, but replacing sequence with a differently sized array and modifying both count and i make execution harder to follow; the final binary output also leaves the arithmetic work unexplained.
Run 2
Code Structure: Initialization, iteration, and fraction simplification are logically ordered, but sequence generation, binary construction, and arithmetic are mixed in one method. Nesting: A single loop with two shallow conditionals is easy to scan. Clarity of intent: Descriptive arithmetic variable names help, but the relationship between count, length, sequence mutation, and binary output is unclear. The unused fraction obscures the intended result. Code length: Mostly concise, though unused fraction computation adds unnecessary work and reading effort. Action granularity: Most lines perform one action, but incrementing count inside a condition and modifying i inside the loop complicate state tracking. Reading flow: Formatting and sequential organization are readable, but changing both the loop index and sequence within the loop makes execution less natural to follow.
Run 3
Code Structure: Setup, iteration, and fraction simplification are logically ordered, but all responsibilities reside in main, and the computed fraction is unused. Nesting: The loop contains only shallow conditionals, making its shape easy to scan. Clarity of intent: Descriptive names help, but the relationship between sequence mutation, count parity, binary output, and numerator/denominator products is unexplained. Magic values and the compact sequence update obscure the algorithm. Code length: The snippet is short, though unused fraction calculations add unnecessary reading effort. Action granularity: Most lines perform one action, but ++count inside a condition and modifying i both in the loop header and body combine state changes with control flow. Reading flow: Initialization and final output are straightforward, but changing sequence length and skipping loop indices make execution harder to follow.