Sample

Dorn/java/163

Human rating uses the original dataset scale.

DatasetDorn
Human4.02
Lines49

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett0.9780–1; higher is more readable
93.0Δ 0.6
Scalabrino0.8730–1; higher is more readable
93.8Δ 1.3
Dorn0.8460–1; higher is more readable
84.7Δ 7.8
Mi0.8340–1; higher is more readable
98.9Δ 6.4
LLOC12Logical lines; fewer is more readable
53.6Δ 38.9
DeepSeek V4 Pro16.330–20; mean of three runs
87.9Δ 4.6
GPT-6.1 Sol170–20; mean of three runs
80.4Δ 12.1
BTTF0.6930–1; higher is more readable
91.4Δ 1.1
Human4.021–5; original rating
92.5

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.49+19.6
Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones.517.662−17.083
Byte entropyHow varied the bytes in the source text are. Repeated bytes give a lower value; a more even mixture gives a higher value.5.052−7.578

Intercept 8.87 + feature contributions = 3.809 (log-odds).
Score = sigmoid(3.809) = 0.978.

Score0.873

Feature contributions

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

Intercept 0.07 + feature contributions = 1.701 (log-odds).
Score = sigmoid(1.701) = 0.846.

Score0.834
Score12
Run 1

The code is well-structured and readable: a simple DTO with clear purpose, flat structure, minimal nesting, and concise one-action-per-line methods. The class follows a clean logical organization with getters and setters grouped together. The only minor weakness is the `hasError()` method, which uses an unnecessary if-else block instead of a simpler `return _exception != null;` expression. This adds slight verbosity without benefit. Overall, the code is straightforward and maintainable with no significant readability problems.

Run 2

The code is highly readable and follows standard Java conventions. It has a clear, logical structure with a single class, well-named getters/setters, and a straightforward boolean check. Nesting is minimal (only one if/else), clarity of intent is high, and actions are one per line. However, the hasError() method is unnecessarily verbose—it could simply return '_exception != null'. Also, the class is incomplete, missing a closing brace and any field declarations, which slightly disrupts the overall quality assessment.

Run 3

The code is clean and highly readable. It follows a standard JavaBean pattern with a simple, logical structure. The class is well-organized with clearly named getters and setters, each performing a single action. Nesting is minimal; the only conditional in hasError() uses a simple if-else that could be further simplified, but it does not harm readability. The intent of the class as a data holder for proxy responses is obvious from method names and types. Code length is appropriate and concise without unnecessary complexity. The reading flow is natural and straightforward. Minor deductions: the redundant if-else in hasError() and the missing closing brace in the snippet slightly detract, but overall the code is exemplary.

Run 1

Code Structure: Accessors and error checking are logically organized, but the snippet omits field declarations and the closing class brace. Nesting: Minimal; only hasError introduces a simple if/else. Clarity of intent: Descriptive method names make the response container's purpose clear, although Object provides little information about the result type. Code length: Mostly concise, but hasError could directly return _exception != null; the license header adds reading overhead without complicating the logic. Action granularity: Each statement performs a single action. Reading flow: Consistent formatting and straightforward methods support natural reading, though the incomplete ending interrupts it.

Run 2

Code Structure: Accessors and error checking are logically organized in a small response class, but the snippet omits field declarations and the class's closing brace. Nesting: Minimal; only hasError() contains a shallow conditional. Clarity of intent: Class and method names clearly communicate a response holding a result or exception, although Object provides little result-type information. Code length: Concise overall, but hasError() could simply return _exception != null; the license header adds reading overhead without affecting implementation clarity. Action granularity: Each statement performs one clear action. Reading flow: Consistent formatting and straightforward methods make the code easy to scan, though the incomplete ending interrupts the flow.

Run 3

Code Structure: Methods are logically organized as a simple response container, but the snippet omits field declarations and the closing class brace. Nesting: Minimal; only hasError introduces a shallow conditional. Clarity of intent: Clear method names communicate result and exception access, although Object provides little information about the result type. Code length: Mostly concise, but hasError could directly return _exception != null instead of using an if/else. Action granularity: Each statement performs one clear action. Reading flow: Consistent formatting and straightforward getters and setters make the code easy to scan; the incomplete ending slightly disrupts comprehension.