Sample

Scalabrio38

Human rating uses the original dataset scale.

DatasetScalabrino
Human4.22
Lines21

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett00–1; higher is more readable
66.3Δ 16.6
Scalabrino0.7510–1; higher is more readable
78.4Δ 4.5
Dorn0.7380–1; higher is more readable
82.4Δ 0.5
Mi0.6720–1; higher is more readable
90.5Δ 7.5
LLOC12Logical lines; fewer is more readable
57.3Δ 25.6
DeepSeek V4 Pro17.670–20; mean of three runs
96.0Δ 13.1
GPT-6.1 Sol190–20; mean of three runs
98.0Δ 15.1
BTTF0.6990–1; higher is more readable
92.5Δ 9.5
Human4.221–5; original rating
82.9

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.623.175−20.565
Source linesThe number of non-empty source lines.21+8.4
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.361−6.542

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

Score0.751

Feature contributions

FeatureValueContribution
(log-odds)
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.76+0.446
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.76+0.422
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.21+0.293
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.072+0.238
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.19.935−0.131

Intercept 0.07 + feature contributions = 1.033 (log-odds).
Score = sigmoid(1.033) = 0.738.

Score0.672
Score12
Run 1

The code is highly readable. It has a clear, single-purpose structure with a logical Javadoc comment explaining intent. The method uses flat nesting with no conditional complexity. Each action is on its own line, making the sequence of serialization writes easy to follow. The naming is clear and consistent. The only minor drawback is the slight duplication of repeated method calls with the same SerialUtilities class, but this is not a readability issue. Overall, it is concise, predictable, and easy to understand.

Run 2

The code is highly readable. It has a clear, single-purpose method with a logical, sequential structure and no nesting. Each line performs one serialization action, creating a consistent, natural reading flow. The method and parameter names are descriptive, aided by a concise Javadoc comment. Minor deductions: no null checks or error handling around individual serialization calls, and the repetitive 'SerialUtilities.write...' pattern slightly increases verbosity, but this does not meaningfully harm clarity.

Run 3

The code is highly readable. It has a clear, single-purpose method with a logical structure, using flat nesting and one action per line. Each call to SerialUtilities.write... is explicit and communicates intent. The Javadoc concisely describes the method's purpose, parameters, and exceptions. The method is concise, performing only serialization of fields in a natural sequence. Minor deductions: repetition of SerialUtilities could be reduced, but the consistency enhances predictability. Overall, it's straightforward, maintainable, and easy to understand.

Run 1

Code Structure: A single, focused serialization method logically groups default serialization and custom field serialization. Nesting: No nested control flow; the method is flat. Clarity of intent: The documentation, method signature, descriptive field names, and explicit serialization helpers clearly communicate purpose. Code length: Short and appropriately explicit; repeated calls reflect distinct fields rather than unnecessary verbosity. Action granularity: Each line performs exactly one serialization action. Reading flow: Execution proceeds naturally from default serialization to custom fields, with related properties adjacent. Minor improvement: Blank lines could distinguish legend, series, label, and axis properties for easier scanning.

Run 2

Code Structure: A single, logically organized serialization method begins with default serialization, followed by explicit field serialization. Nesting: The body is completely flat. Clarity of intent: The method signature, documentation, descriptive field names, and utility methods clearly communicate its purpose. Code length: Concise for the number of fields serialized; repeated calls are straightforward rather than unnecessarily verbose. Action granularity: Each line performs exactly one serialization action. Reading flow: The sequence is easy to follow, with related paint and stroke fields generally grouped together. A brief explanation of the required serialization order or its correspondence to deserialization would provide additional context.

Run 3

Code Structure: A single, focused serialization method with logically ordered operations. Nesting: Completely flat, with no conditional or loop complexity. Clarity of intent: The documentation, standard writeObject signature, and descriptive utility and field names clearly communicate serialization behavior. Code length: Concise for the number of fields serialized; repetition is appropriate for explicit serialization ordering. Action granularity: Each line performs exactly one operation. Reading flow: Natural progression from default serialization to individual custom field writes, with consistent formatting. Minor improvement: Blank lines between related field groups could make the sequence easier to scan.