Sample

Dorn/java/201

Human rating uses the original dataset scale.

DatasetDorn
Human3.08
Lines50

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett10–1; higher is more readable
100.0Δ 65.2
Scalabrino0.9330–1; higher is more readable
97.3Δ 62.5
Dorn0.7740–1; higher is more readable
74.1Δ 39.3
Mi0.5120–1; higher is more readable
53.8Δ 18.9
LLOC4Logical lines; fewer is more readable
82.7Δ 47.9
DeepSeek V4 Pro10.670–20; mean of three runs
44.4Δ 9.6
GPT-6.1 Sol140–20; mean of three runs
41.4Δ 6.5
BTTF0.7090–1; higher is more readable
93.0Δ 58.2
Human3.081–5; original rating
34.8

Views

Download official ZIP ↗

Select the downloaded ZIP or its extracted folder. Files stay in your browser.

Loading feature diagnosis…

Source regions

Feature contributions

Feature contributions

FeatureValueContribution
(log-odds)
Source linesThe number of non-empty source lines.50+20
Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones.272.324−8.987
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.728−7.092

Intercept 8.87 + feature contributions = 12.791 (log-odds).
Score = sigmoid(12.791) = 1.

Score0.933

Feature contributions

FeatureValueContribution
(log-odds)
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.62+1.039
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.50−0.734
Indentation frequencyHow rapidly indentation changes from line to line.1−0.703
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.027+0.682
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.1+0.398
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.49.571+0.283
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.61.922+0.195

Intercept 0.07 + feature contributions = 1.23 (log-odds).
Score = sigmoid(1.23) = 0.774.

Score0.512
Score4
Run 1

The code consists of method signatures with Javadoc comments, but readability is hampered by inconsistent formatting and incomplete context. Structure is logical but appears truncated—the first signature lacks a method name, suggesting a copy-paste artifact. Formatting is uneven: parameter alignment is inconsistent, and there are stray tabs before array brackets and parameter names. Clarity of intent is mixed; while purpose is mostly clear from parameter names and comments, empty Javadoc descriptions and redundant @param tags add noise. Code length is reasonable but could be more concise. Action granularity is not very applicable to signatures, though parameter alignment attempts one-per-line. Reading flow is disrupted by non-uniform spacing and varying indentation. Overall, this is somewhat readable but would benefit from cleanup and consistent formatting.

Run 2

This code is an interface or abstract method definition broken into parts. It lacks surrounding class or interface context, making it difficult to understand overall structure. The methods are simple, but the repetitive Javadoc style, especially empty descriptions and param tags with no text, harms clarity. The formatting is inconsistent: return types are placed on separate lines, parameters are misaligned, and comments are scattered. Some parameters have inline comments while others do not. The action granularity is acceptable, one parameter per line, but the reading flow is disrupted by awkward line breaks and orphaned signature fragments at the top. Overall, it reads as disorganized code snippet with minimal explanatory value.

Run 3

The code consists of Java method signatures with Javadoc comments. Structure is somewhat organized, but there are issues: the first fragment begins mid-signature (orphaned parameters), suggesting incomplete or truncated code. Javadoc comments are mostly empty or minimal, reducing clarity of intent. Nesting is flat and action granularity is acceptable, but reading flow is disrupted by inconsistent spacing, misaligned parameters, and incomplete documentation. The code is not deeply nested or overly long, but clarity suffers from missing context, inconsistent formatting, and minimal explanatory comments. The use of generic '@param' tags with no descriptions also weakens readability. Overall, it is readable enough to understand basic method signatures but lacks polish and completeness.

Run 1

Code Structure: Related parameter-creation declarations are logically grouped, including adjacent integer overloads, but the opening fragment lacks context. Nesting: No nested logic, making the declarations easy to scan. Clarity of intent: Method names, return types, and argument names convey their purpose; however, the '2' suffix is unexplained, naming conventions are mixed, and most Javadoc tags provide no descriptions. Code length: The declarations are concise, but repetitive, mostly empty documentation adds visual bulk. Action granularity: Each parameter occupies its own line, clearly separating inputs; these are declarations rather than executable actions. Reading flow: Consistent declaration patterns support scanning, but irregular whitespace, split return types and method names, and the incomplete opening declaration interrupt the flow.

Run 2

Code Structure: Related parameter declarations are logically grouped, including adjacent integer overloads, but the snippet starts with an incomplete declaration. Nesting: No nested logic; signatures are straightforward. Clarity of intent: Method names and types communicate parameter creation, and bounds and encoding comments help, but empty Javadoc descriptions and unexplained '2' suffixes limit clarity. Code length: Declarations are concise in substance, though repetitive, mostly empty Javadoc and heavily split signatures add unnecessary length. Action granularity: Each argument occupies its own line, making signatures easy to scan; there are no executable actions to assess. Reading flow: Consistent declaration patterns support scanning, but irregular whitespace, mixed naming conventions, and return types separated from method names interrupt natural reading.

Run 3

Code Structure: Related parameter declarations are logically grouped, but the opening declaration is truncated. Nesting: No nested control flow makes the snippet easy to scan. Clarity of intent: Method names, return types, and parameter names indicate purpose; however, the '2' suffix is unexplained, naming conventions are inconsistent, and most documentation tags lack descriptions. Code length: The declarations are concise, but repetitive, mostly empty Javadoc adds unnecessary length. Action granularity: Each parameter occupies its own line, clearly separating declaration elements. Reading flow: Consistent declaration patterns help, but uneven spacing and placing return types and method names on separate lines interrupt natural reading.