Sample

Dorn/java/136

Human rating uses the original dataset scale.

DatasetDorn
Human4.13
Lines50

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett10–1; higher is more readable
98.9Δ 3.9
Scalabrino0.8640–1; higher is more readable
93.4Δ 1.6
Dorn0.8620–1; higher is more readable
88.9Δ 6.1
Mi0.7150–1; higher is more readable
87.2Δ 7.8
LLOC12Logical lines; fewer is more readable
53.6Δ 41.4
DeepSeek V4 Pro14.670–20; mean of three runs
74.1Δ 20.9
GPT-6.1 Sol180–20; mean of three runs
93.5Δ 1.5
BTTF0.7160–1; higher is more readable
93.6Δ 1.4
Human4.131–5; original rating
95.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)
Source linesThe number of non-empty source lines.50+20
Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones.357.577−11.8
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.55−6.825

Intercept 8.87 + feature contributions = 10.245 (log-odds).
Score = sigmoid(10.245) = 1.

Score0.864

Feature contributions

FeatureValueContribution
(log-odds)
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.47−0.628
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.71.902+0.62
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.035+0.603
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.1+0.398
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.71.941+0.356
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.49.479+0.282
Indentation frequencyHow rapidly indentation changes from line to line.25+0.128

Intercept 0.07 + feature contributions = 1.829 (log-odds).
Score = sigmoid(1.829) = 0.862.

Score0.715
Score12
Run 1

The code is highly structured with consistent getter/setter patterns and Javadoc comments, making each method's purpose clear. It is flat with no nesting and each line performs a single action. However, the repetitive boilerplate nature makes it unnecessarily long and reduces reading flow. While it follows conventions, the lack of context and excessive repetition for simple property accessors detracts from overall readability.

Run 2

The code is highly readable due to its consistent structure and clear naming conventions. It follows a straightforward getter/setter pattern with Javadoc comments, making intent obvious. There is minimal nesting, with each method performing a single action. The code is concise and each line represents one logical operation, aiding in reading flow. However, repetitive boilerplate slightly reduces efficiency, and the Javadoc adds some verbosity without adding substantive information beyond the method names. Overall, the code is well-organized and easy to understand.

Run 3

The code is straightforward and follows a consistent pattern of getter/setter methods with clear Javadoc comments. Each method performs a single action, and the code is flat with minimal nesting. However, readability is reduced by excessive verbosity: the Javadoc is repetitive and largely redundant, and the method bodies are trivial. The structure is logical but appears as a long monotonous sequence of similar accessors, which makes the reading flow tedious. Clarity of intent is high due to the explicit naming and comments, but code length is unnecessarily long for what is accomplished. Action granularity is good, but the overall presentation could be more concise.

Run 1

Code Structure: Getter/setter pairs are logically grouped by dependency, with consistent formatting. Nesting: Methods are flat and contain no nested control flow. Clarity of intent: Descriptive method and parameter names make retrieval and assignment explicit; documentation distinguishes local and remote services. Code length: Implementations are concise, although repetitive Javadoc adds length without much additional information. Action granularity: Each statement performs a single action on its own line. Reading flow: The repeated getter-then-setter pattern is predictable and easy to scan. The initial orphaned comment terminator slightly disrupts readability because the snippet starts mid-comment.

Run 2

Code Structure: Related getters and setters are logically paired and consistently organized. Nesting: Methods are flat, with no nested control flow. Clarity of intent: Descriptive method names, types, and parameters make the accessors' purposes clear. Code length: Method bodies are minimal, but repetitive Javadoc adds unnecessary length for straightforward operations. Action granularity: Each statement performs a single action on its own line. Reading flow: Consistent formatting and predictable accessor patterns make the code easy to scan; the wrapped setter signature is readable. The leading orphaned comment terminator slightly disrupts the snippet's presentation.

Run 3

Code Structure: Accessors are logically grouped into getter/setter pairs. Nesting: Methods are flat, with no nested control flow. Clarity of intent: Descriptive method names, parameter names, and types make each operation obvious; comments distinguish local and remote services. Code length: Implementations are concise, although repetitive Javadoc adds length without much additional information. Action granularity: Each statement performs one clear action on its own line. Reading flow: Consistent formatting and ordering make the code easy to scan, though the initial orphaned comment terminator slightly disrupts the excerpt.