Sample

Dorn/java/104

Human rating uses the original dataset scale.

DatasetDorn
Human3.63
Lines10

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett0.3230–1; higher is more readable
78.6Δ 5.6
Scalabrino0.580–1; higher is more readable
56.6Δ 16.4
Dorn0.2460–1; higher is more readable
19.8Δ 53.2
Mi0.0820–1; higher is more readable
10.6Δ 62.4
LLOC6Logical lines; fewer is more readable
72.8Δ 0.1
DeepSeek V4 Pro17.670–20; mean of three runs
97.1Δ 24.1
GPT-6.1 Sol190–20; mean of three runs
98.9Δ 25.9
BTTF0.6970–1; higher is more readable
91.9Δ 18.9
Human3.631–5; original rating
73.0

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

Intercept 8.87 + feature contributions = -0.739 (log-odds).
Score = sigmoid(-0.739) = 0.323.

Score0.58

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.112−1.079
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.10+0.682
Indentation frequencyHow rapidly indentation changes from line to line.9−0.426
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.1+0.398
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.065+0.313
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.9.77−0.273

Intercept 0.07 + feature contributions = -1.119 (log-odds).
Score = sigmoid(-1.119) = 0.246.

Score0.082
Score6
Run 1

The code is highly readable due to its clear structure and minimal nesting. The constructor logically initializes the command with a descriptive name and a single parameter, while the execute method follows a simple two-step flow: save the old value, then set the new one. Each line performs one action, making the intent obvious. The naming is consistent and self-documenting, and the code avoids unnecessary complexity or length. The only minor drawback is the lack of explicit validation or null checks, but this does not significantly affect readability. Overall, the code is concise, well-organized, and easy to follow.

Run 2

The code is highly readable. It follows a simple, logical structure: a constructor that initializes fields and an execute method that performs a clear two-step operation. Nesting is minimal, clarity of intent is high—both methods clearly state what they do. Code length is concise and appropriate, with no unnecessary lines. Each line performs a single action, maintaining good action granularity. The reading flow is natural: assign old value, set new value. Minor improvements could include a brief comment for context, but the code is self-explanatory as is.

Run 3

The code is clear and well-structured. It defines a simple command class with a constructor and execute method. The constructor succinctly initializes the command with a server and context path, and the execute method cleanly saves the old value before setting the new one. There is minimal nesting, clear intent, and concise length. Each line performs a single action, and the reading flow is natural. Minor deductions could be made for lack of validation or error handling, but the code itself is highly readable.

Run 1

Code Structure: The constructor initializes the command, and execute() performs the update in a logically organized sequence. Nesting: Both methods are flat, with no nested control flow. Clarity of intent: Descriptive method and variable names clearly communicate the context-path change and preservation of the previous value. Code length: The snippet is concise without unnecessary logic. Action granularity: Each statement performs one distinct action on its own line. Reading flow: Initialization followed by execution is natural, and execution reads clearly as save-then-update. Minor limitations are the long constructor signature and the absence of surrounding declarations showing where server and the saved value are defined.

Run 2

Code Structure: The constructor initializes the command, while execute performs the update, creating a clear separation of responsibilities. Nesting: No nested control flow makes the code easy to follow. Clarity of intent: Descriptive method and variable names clearly convey that the server manager context path is saved and replaced. Code length: The implementation is concise without unnecessary statements. Action granularity: Each statement performs one distinct action. Reading flow: Initialization followed by saving the previous value and setting the new value is natural. The only minor limitation is that field declarations and the use of the saved previous value are not visible in this snippet.

Run 3

Code Structure: Clearly separates initialization in the constructor from execution in execute(). Nesting: Flat, with no conditional or loop nesting. Clarity of intent: Descriptive names make setting the server manager context path and preserving its previous value easy to understand. Code length: Concise, with no unnecessary statements. Action granularity: Each statement performs a single action on its own line. Reading flow: Natural progression from construction to saving the old value and applying the new value. The omitted class and field declarations slightly limit standalone context.