Sample

JetBrains/i8

Human rating uses the original dataset scale.

DatasetJetBrains
Human0.76
Lines32

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett00–1; higher is more readable
42.4Δ 14.4
Scalabrino0.8740–1; higher is more readable
87.3Δ 30.5
Dorn0.3980–1; higher is more readable
29.7Δ 27.1
Mi0.2680–1; higher is more readable
20.3Δ 36.4
LLOC12Logical lines; fewer is more readable
56.8Δ 0.0
DeepSeek V4 Pro110–20; mean of three runs
10.2Δ 46.6
GPT-6.1 Sol130–20; mean of three runs
7.2Δ 49.6
BTTF0.5540–1; higher is more readable
80.5Δ 23.7
Human0.760–1; original rating
56.8

Views

Source code

public class Quine { public static void main(String[] args) { char q = 34; String[] lines = { "public class Quine {", " public static void main(String[] args) {", " char q = 34;", " String[] lines = {", " };", " for (int i = 0; i < 4; i++) {", " System.out.println(lines[i]);", " }", " for (int i = 0; i < lines.length; i++) {", " System.out.println(lines[4] + q + lines[i] + q + ',');", " }", " for (int i = 5; i < lines.length; i++) {", " System.out.println(lines[i]);", " }", " }", "}", }; for (int i = 0; i < 4; i++) { System.out.println(lines[i]); } for (int i = 0; i < lines.length; i++) { System.out.println(lines[4] + q + lines[i] + q + ','); } for (int i = 5; i < lines.length; i++) { System.out.println(lines[i]); } } }

Loading feature diagnosis…

Source regions

Feature contributions

Feature contributions

FeatureValueContribution
(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.903.968−29.831
Source linesThe number of non-empty source lines.32+12.8
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.399−5.099

Intercept 8.87 + feature contributions = -13.26 (log-odds).
Score = sigmoid(-13.26) = 0.

Score0.874

Feature contributions

FeatureValueContribution
(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
Indentation frequencyHow rapidly indentation changes from line to line.1−0.703
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.31−0.291
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.074+0.226
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.84.969+0.066
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.30.86+0.022

Intercept 0.07 + feature contributions = -0.412 (log-odds).
Score = sigmoid(-0.412) = 0.398.

Score0.268
Score12
Run 1

The code is a quine, so duplication is expected, but its readability is poor. The structure is fragmented: multiple loops with overlapping ranges (0-3, all, 5+) create confusion about output ordering. Clear intent is not communicated; the magic numbers 4 and 5 require mental tracing of array content. The double block (array declaration and printing loops) is unnecessarily verbose, adding length without clarity. Nesting is shallow, which helps, but action granularity is mixed—some lines handle concatenation and printing, though most are acceptable. Reading flow is disjointed because the output loops are separated and the relationship between the stored code lines and printed lines is obscure. A more readable approach would use a single self-referential string and a placeholder replacement scheme. As written, only someone familiar with quines can quickly parse it; otherwise, it is puzzling.

Run 2

The code is logically organized into a self-replicating structure, but it is difficult to read due to its quine nature. The arrays and loops are flat and avoid deep nesting, which helps readability. However, the magic numbers (4, 5) and the use of character code 34 for quotes obscure intent. Action granularity is mostly one action per line, and the reading flow is linear. The code is concise but inherently complex because it mixes data and logic for self-printing. Overall, it is understandable with effort but not immediately clear.

Run 3

The code is logically organized for a quine, but readability suffers from unclear intent and repetitive printing loops. Nesting is flat, and each line generally performs one action, which helps. However, the purpose of the hard-coded loop boundaries (4, 5) and the string-building on line 4 are not evident without deep quine knowledge. The array structure mixes data and formatting, making the reading flow disjointed. Variable naming is minimal ('q' for quote) and could be more descriptive. The code length is reasonable but lacks comments explaining the quine mechanics. Overall, it is understandable for experienced programmers but not highly readable for general audiences.

Run 1

Code Structure: The string array and three sequential printing loops are logically organized, although embedding source code as data creates duplication. Nesting: Shallow and consistent, with no nested loops or complex branching. Clarity of intent: The class name suggests a quine, but the variable q, numeric character value 34, and hard-coded indices 4 and 5 obscure how reproduction works. Code length: Reasonably concise for its purpose; most length comes from the embedded source representation. Action granularity: Each statement performs one main action, though the concatenated printing expression requires careful parsing. Reading flow: Consistent indentation and sequential loops support readability, but readers must cross-reference array positions to understand the output construction.

Run 2

Code Structure: The source array and three sequential printing loops are logically organized, but their roles are not explained. Nesting: Shallow, with no nested loops or complex branching. Clarity of intent: The Quine class name suggests self-reproduction, but q, numeric boundaries, and lines[4] obscure the mechanics; lines[4] contains a closing delimiter, making its use as a prefix particularly confusing. Code length: Compact for a quine, though embedding source text creates unavoidable repetition. Action granularity: Each executable statement occupies its own line, but the concatenated printing expression combines several formatting operations. Reading flow: Consistent indentation and sequential loops help, while switching between embedded source and executable code requires careful mental tracking.

Run 3

Code Structure: The string array and three sequential loops provide clear organization, though their dependence on specific array positions is brittle. Nesting: Shallow loop nesting keeps control flow easy to follow. Clarity of intent: The class name suggests self-reproduction, but q, the numeric character value 34, and hard-coded indices obscure how it works; lines[4] also appears inconsistent with the intended indentation prefix. Code length: Compact for a quine, with duplicated source text inherent to the technique rather than needless verbosity. Action granularity: Each statement performs one main action, although the concatenated print expression takes extra effort to parse. Reading flow: Consistent indentation and sequential output phases help, but switching between quoted source and executable code, without explanatory comments, interrupts comprehension.