Sample

Dorn/java/141

Human rating uses the original dataset scale.

DatasetDorn
Human3.53
Lines10

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett0.9730–1; higher is more readable
92.5Δ 25.9
Dorn0.9120–1; higher is more readable
95.3Δ 28.7
Mi0.7620–1; higher is more readable
94.7Δ 28.1
LLOC3Logical lines; fewer is more readable
88.6Δ 22.0
DeepSeek V4 Pro110–20; mean of three runs
46.4Δ 20.2
GPT-6.1 Sol180–20; mean of three runs
93.5Δ 26.9
BTTF0.6920–1; higher is more readable
91.1Δ 24.5
Human3.531–5; original rating
66.6

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.674−7.011
Source linesThe number of non-empty source lines.10+4
Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones.69.189−2.283

Intercept 8.87 + feature contributions = 3.576 (log-odds).
Score = sigmoid(3.576) = 0.973.

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.52+1.463
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.7+0.788
Indentation frequencyHow rapidly indentation changes from line to line.5−0.564
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.045+0.5
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.9.736−0.274
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.47.273−0.042

Intercept 0.07 + feature contributions = 2.34 (log-odds).
Score = sigmoid(2.34) = 0.912.

Score0.762
Score3
Run 1

The code is a minimal interface fragment, so evaluation is limited. Structurally, it contains three clear method declarations: a getter, a setter with Javadoc, and a boolean checker. Nesting is non-existent, and each method is concise, giving decent action granularity. However, readability suffers slightly due to the odd spelling of 'class p k' in comments and method names rather than 'classPK' or 'classPk', which can confuse intent. Reading flow is disrupted because the Javadoc only exists for the setter, creating inconsistency. The lack of class or interface declaration context also makes intent less clear. Overall, it's reasonably readable but could be improved with consistent documentation and naming.

Run 2

This code is incomplete and poorly documented. It consists of interface method signatures without implementation, making logical organization and action granularity difficult to assess. Nesting is flat, but clarity of intent is low: terms like 'class p k' are unclear and likely represent a mangled or misspelled concept. Code length is extremely short, but not meaningful. Reading flow is broken due to incomplete sentences and missing context. While one action per line is respected, the lack of surrounding structure, imports, or class definition prevents a proper evaluation of readability. Overall, the snippet is too fragmentary to be considered readable.

Run 3

This code is a short, well-structured interface definition with clear method signatures, Javadoc comments, and consistent formatting. It adheres to common Java conventions, uses descriptive method names, and maintains a flat structure with no nesting. The only minor issue is the awkward spacing in 'class p k' within the Javadoc, likely an artifact of automated formatting or obfuscation, which slightly reduces clarity. Overall, it is highly readable and concise.

Run 1

Code Structure: Clearly separated method declarations are logically organized. Nesting: No nesting makes scanning straightforward. Clarity of intent: Getter, setter, and boolean method names communicate their roles, though classPK is domain-specific and the phrase 'class p k' is awkward. Code length: Concise overall, with slightly repetitive setter documentation. Action granularity: Each declaration occupies its own line and represents one operation. Reading flow: The getter-to-setter sequence is natural, followed by a separate state query; inconsistent documentation slightly reduces polish.

Run 2

Code Structure: Method declarations are cleanly separated, with related getter and setter adjacent. Nesting: No nesting, making the snippet easy to scan. Clarity of intent: getClassPK, setClassPK, and isNew follow familiar naming conventions, though 'class p k' is awkward wording and the meaning of classPK requires domain knowledge. Code length: Very concise, with only a slightly repetitive setter comment. Action granularity: Each declaration occupies its own line. Reading flow: Natural getter-to-setter progression followed by a boolean query; documentation for getClassPK and isNew could improve consistency.

Run 3

Code Structure: Simple, logically grouped method declarations, although the relationship of isNew() to the classPK accessors is not explained. Nesting: No nesting, making the snippet easy to scan. Clarity of intent: Getter, setter, and boolean-query naming communicate their purposes, but 'class p k' is awkward documentation and does not explain what the identifier represents. Code length: Concise overall, though the setter documentation mostly repeats its signature. Action granularity: Each declaration occupies its own line, with no combined actions. Reading flow: The getter-to-setter sequence is natural, and blank lines separate declarations cleanly; documentation coverage is uneven.