Sample

Dorn/java/148

Human rating uses the original dataset scale.

DatasetDorn
Human2.48
Lines30

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett00–1; higher is more readable
26.2Δ 14.5
Dorn0.3930–1; higher is more readable
31.5Δ 19.8
Mi0.2470–1; higher is more readable
24.0Δ 12.3
LLOC24Logical lines; fewer is more readable
23.7Δ 12.0
DeepSeek V4 Pro16.330–20; mean of three runs
87.9Δ 76.2
GPT-6.1 Sol180–20; mean of three runs
93.5Δ 81.8
BTTF0.5780–1; higher is more readable
68.2Δ 56.5
Human2.481–5; original rating
11.7

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)
Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones.1166.578−38.497
Source linesThe number of non-empty source lines.30+12
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.754−7.131

Intercept 8.87 + feature contributions = -24.758 (log-odds).
Score = sigmoid(-24.758) = 0.

Feature contributions

FeatureValueContribution
(log-odds)
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.0−0.804
Indentation frequencyHow rapidly indentation changes from line to line.1−0.703
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.70.968+0.659
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.1+0.398
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.31−0.061
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.096+0.005
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.29.25−0.001

Intercept 0.07 + feature contributions = -0.437 (log-odds).
Score = sigmoid(-0.437) = 0.393.

Score0.247
Score24
Run 1

The code is generally readable with a clear, flat structure and one action per line. It shows a logical sequence of setter calls on a single object, making intent easy to follow. The only mild nesting is a single if-block for iconImage, which is not excessive. However, the code is somewhat verbose, repeating 'layoutRevision.' many times, which could be simplified with a builder or helper method. The reading flow is natural, grouping related fields (dates, IDs, layout attributes, metadata) before and after the conditional. Overall, it is clear and maintainable but slightly long-winded, preventing a top score.

Run 2

The code is highly readable. It uses a flat, consistent structure with a single action per line, following a clear setter-pattern. There is minimal nesting (one simple if-statement), and the logical grouping of related properties (metadata, layout info, theme settings) is natural. Variable names are descriptive and consistent. The code is concise without being overly compressed. The only minor deductions are that some lines are split unnecessarily (e.g., setLayoutSetBranchId) and the lack of a blank line between logical property groups slightly reduces visual separation, but overall the reading flow is excellent.

Run 3

The code is reasonably readable with a clear, logical flow of setter calls for a layout revision object. It follows a flat structure with minimal nesting—only a single conditional block for the icon image. Each line performs one action, aiding clarity. However, the excessive indentation (two tabs) suggests the code is inside a deeply nested method or block, which slightly detracts from readability. Variable names are descriptive, and the intent is straightforward: populating fields on a layout revision. The code length is appropriate for the task, though some repetitive getter-setter patterns could be refactored. Overall, it's well-organized and easy to follow.

Run 1

Code Structure: A logically organized sequence initializes revision metadata, content, appearance, and workflow status. Nesting: Only one shallow conditional keeps complexity low. Clarity of intent: Descriptive setter and variable names make the initialization purpose clear, although the reason for conditionally setting icon fields is unstated. Code length: Concise for the number of properties, with some unavoidable setter repetition. Action granularity: Each statement performs one clear action; wrapped calls remain easy to follow. Reading flow: Consistent formatting and blank lines provide a natural progression, though additional grouping between metadata, content, and appearance settings would improve scanning.

Run 2

Code Structure: Logically organized as layout revision initialization, with related properties mostly grouped together. Nesting: Nearly flat, with only one simple conditional. Clarity of intent: Descriptive setter and variable names clearly communicate the fields being initialized; the conditional icon update is understandable, though its rationale is not explained. Code length: Appropriately concise for explicit field assignment, despite repetitive setter calls. Action granularity: Each statement performs one action; wrapped calls remain easy to follow. Reading flow: Sequential assignments and whitespace provide a natural flow, although clearer separation of metadata, content, appearance, and workflow fields would improve scanning.

Run 3

Code Structure: A logically ordered sequence initializes revision metadata, content, appearance, and workflow state, with whitespace separating some groups. Nesting: Only one shallow conditional keeps the code easy to follow. Clarity of intent: Descriptive setter and variable names clearly communicate which properties are being assigned or copied. Code length: The repetitive setters are appropriate for explicit initialization, though they make the snippet somewhat verbose. Action granularity: Each statement performs one assignment; wrapped method calls remain easy to distinguish. Reading flow: The top-to-bottom initialization is natural and consistent. Minor drawbacks include limited visual separation between conceptual groups and no explanation of why icon properties are assigned only when iconImage is true.