Sample
JetBrains/e46
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0 | 0–1; higher is more readable | 33.9Δ 40.7 |
| Scalabrino | 0.207 | 0–1; higher is more readable | 6.8Δ 67.8 |
| Dorn | 0.085 | 0–1; higher is more readable | 5.1Δ 69.5 |
| Mi | 0.78 | 0–1; higher is more readable | 100.0Δ 25.4 |
| LLOC | 18 | Logical lines; fewer is more readable | 29.7Δ 44.9 |
| DeepSeek V4 Pro | 17.33 | 0–20; mean of three runs | 78.8Δ 4.2 |
| GPT-6.1 Sol | 18 | 0–20; mean of three runs | 77.5Δ 3.0 |
| BTTF | 0.45 | 0–1; higher is more readable | 41.5Δ 33.1 |
| Human | 0.88 | 0–1; original rating | 74.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. | 899.843 | −29.695 |
| 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.402 | −6.603 |
Intercept 8.87 + feature contributions = -15.828 (log-odds).
Score = sigmoid(-15.828) = 0.
| Score | 0.207 |
|---|
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 0 | −0.804 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 1 | −0.703 |
| 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. | 94.966 | −0.357 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.131 | −0.329 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 29 | −0.245 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 27.792 | −0.021 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 29 | +0.01 |
Intercept 0.07 + feature contributions = -2.379 (log-odds).
Score = sigmoid(-2.379) = 0.085.
| Score | 0.78 |
|---|
| Score | 18 |
|---|
Run 1
The code is highly readable. It uses a clear, flat structure with boolean variables naming conditions directly (isMultipleOfTwo, etc.), which aids clarity. Nesting is minimal—logic is linear and sequential. Action granularity is strong: each print statement is on its own line. Reading flow is natural, from condition setup to output. Minor deductions: the final condition ‘if not multiple of any’ is verbose and could be replaced by an ‘else’ pattern or a flag; the code is slightly repetitive in the four independent if-blocks, but this actually improves readability. Overall, very clear and logically organized.
Run 2
The code is highly readable with a clear, flat structure. It uses descriptive boolean variables to capture divisibility checks, making intent explicit. Each action is on its own line, and the logic follows a natural top-to-bottom flow. The repeated 'if' blocks are simple and avoid deep nesting. The final condition could be slightly simplified, but overall the code is concise, well-organized, and easy to follow.
Run 3
The code is well-structured and highly readable. It uses clear variable names to express intent, avoids deep nesting with flat boolean checks and independent if statements, and maintains one action per line. The logic is easy to follow: compute divisibility, print corresponding words, default to the number if nothing printed, then print a newline. The code is concise without being cryptic. Minor improvements could include extracting the word-mapping logic into a helper method or using a map to reduce repetitive boolean checks, but as is, the code is straightforward and maintainable.
Run 1
Code Structure: Logically organized into divisibility checks, conditional output, and a newline. Nesting: Shallow and consistent, with only a loop and simple conditionals inside main. Clarity of intent: Descriptive boolean names clearly communicate each divisibility test; independent if statements make concatenated output explicit. Code length: Reasonably concise, though repeated print blocks and the long fallback condition add minor verbosity. Action granularity: Each statement performs one clear action, making execution easy to follow. Reading flow: Natural top-to-bottom progression with useful blank-line grouping. The narrow indentation and absence of a brief explanation for the custom Foo/Fizz/Buzz/Bar mapping slightly reduce readability.
Run 2
Code Structure: Logically organized into divisibility checks, conditional output, a numeric fallback, and a newline. Nesting: Shallow and consistent, with simple conditionals inside one loop. Clarity of intent: Descriptive boolean names make the rules clear, although the output tokens and upper limit are unexplained literals. Code length: Concise overall; repeated conditionals are straightforward rather than unnecessarily verbose. Action granularity: Each statement performs one action, making execution easy to follow. Reading flow: Natural top-to-bottom progression, with blank lines separating phases. Minor readability drawbacks are minimal indentation and the long fallback condition.
Run 3
Code Structure: Logically organized into divisibility checks, corresponding output, a numeric fallback, and a newline. Nesting: Shallow and consistent, with only a loop and simple conditionals inside main. Clarity of intent: Descriptive boolean names make each rule explicit; independent if statements clearly allow concatenated output. Code length: Appropriately concise, though the fallback condition is somewhat long and repetitive. Action granularity: Each statement performs one clear action, with no compressed multi-action lines. Reading flow: Natural top-to-bottom progression, aided by blank lines separating phases. Minor readability drawbacks include minimal indentation and unexplained token choices and range constants.