Sample

Dorn/java/158

Human rating uses the original dataset scale.

DatasetDorn
Human3.72
Lines9

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett0.980–1; higher is more readable
93.6Δ 15.3
Scalabrino0.9260–1; higher is more readable
96.9Δ 18.6
Dorn0.8810–1; higher is more readable
92.8Δ 14.5
Mi0.6730–1; higher is more readable
76.6Δ 1.7
LLOC3Logical lines; fewer is more readable
88.6Δ 10.3
DeepSeek V4 Pro4.330–20; mean of three runs
8.4Δ 69.9
GPT-6.1 Sol170–20; mean of three runs
80.4Δ 2.1
BTTF0.7880–1; higher is more readable
96.9Δ 18.7
Human3.721–5; original rating
78.3

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)
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.459−6.688
Source linesThe number of non-empty source lines.9+3.6
Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones.57.059−1.883

Intercept 8.87 + feature contributions = 3.899 (log-odds).
Score = sigmoid(3.899) = 0.98.

Score0.926

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.25.9+2.568
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.0−0.804
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.8+0.753
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.1+0.398
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.8.593−0.29
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.096+0.012

Intercept 0.07 + feature contributions = 2.004 (log-odds).
Score = sigmoid(2.004) = 0.881.

Score0.673
Score3
Run 1

This code is an interface declaration with three method signatures. It is flat and concise, but the formatting is poor and harms readability. Splitting the return type and method name across two lines is unconventional, wastes vertical space, and disrupts scanning flow. While each method is a single action, the inconsistent line breaks make the code look fragmented. Intent is unclear without additional context or documentation describing what each method does. The code length is short, but the formatting makes it longer than necessary. A more conventional one-line-per-method format would be clearer, but the lack of comments, method bodies, or accompanying specs still leaves ambiguity about purpose and usage.

Run 2

The code consists of three method declarations in a Java interface. While the methods are short and each returns a primitive type, the formatting is unconventional and harms readability. Each method signature is split across three lines: return type, method name, and semicolon. This breaks the natural reading flow and adds unnecessary vertical length. Standard Java style would place the entire signature on one line. The method names are reasonably clear, but the fragmented layout makes the code feel disorganized and ambiguous at a glance. There is minimal nesting and each action is technically on its own line, but the splitting is artificial rather than logical. Overall, the code is not tangled, but it is unnecessarily verbose and poorly formatted, making it difficult to scan quickly.

Run 3

The code is a small interface or abstract method declaration with three methods. It has flat nesting and one action per line. However, readability is harmed by awkward line breaks: return type and method name are placed on separate lines without clear formatting convention, making the code disjointed and harder to scan. The intent is mostly clear—returning time-related values—but parameter lists are empty and no context or documentation explains usage. The code is concise but excessively fragmented; combining each method onto one line would improve flow. Overall, the structure is simple but formatting choices reduce clarity.

Run 1

Code Structure: Three related method declarations are logically grouped and separated. Nesting: No nesting makes the snippet easy to scan. Clarity of intent: Descriptive getter names convey their purposes, though time units and the distinction between interval and minimum interval are unspecified. Code length: Concise, with no unnecessary logic. Action granularity: Each declaration is separate, but splitting return types and method names across lines adds visual fragmentation. Reading flow: Consistent formatting supports predictable reading, though placing each declaration on one line would make the flow more natural.

Run 2

Code Structure: Three related method declarations are logically grouped and consistently formatted. Nesting: No nesting, making the snippet easy to scan. Clarity of intent: Descriptive names convey timing-related purposes, though units and the distinction between interval and minimum interval are unspecified. Code length: Minimal, with no unnecessary logic; splitting return types and method names across lines adds avoidable vertical length. Action granularity: Each declaration is separate and contains a single operation. Reading flow: Ordering is natural, but the unconventional line breaks slightly interrupt reading.

Run 3

Code Structure: Three consistently formatted method declarations are logically organized. Nesting: No nesting, making the snippet easy to scan. Clarity of intent: Descriptive getter names communicate purpose, although time units and the distinction between interval and minimum interval are unspecified. Code length: Concise, with no unnecessary implementation details. Action granularity: Each declaration represents one operation, though splitting return types and names across lines adds visual overhead. Reading flow: Consistent spacing supports readability, but conventional single-line declarations would provide a smoother flow.