Sample

Scalabrio67

Human rating uses the original dataset scale.

DatasetScalabrino
Human4.67
Lines16

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett0.8950–1; higher is more readable
96.5Δ 1.3
Scalabrino0.7930–1; higher is more readable
83.4Δ 14.3
Dorn0.740–1; higher is more readable
83.4Δ 14.3
Mi0.8370–1; higher is more readable
98.5Δ 0.8
LLOC2Logical lines; fewer is more readable
98.7Δ 1.0
DeepSeek V4 Pro17.670–20; mean of three runs
96.0Δ 1.8
GPT-6.1 Sol190–20; mean of three runs
98.0Δ 0.3
BTTF0.8230–1; higher is more readable
98.5Δ 0.8
Human4.671–5; original rating
97.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)
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.472−6.709
Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones.194.487−6.418
Source linesThe number of non-empty source lines.16+6.4

Intercept 8.87 + feature contributions = 2.143 (log-odds).
Score = sigmoid(2.143) = 0.895.

Score0.793

Feature contributions

FeatureValueContribution
(log-odds)
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.98+0.777
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.97.938−0.483
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.16+0.47
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.055+0.409
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.1+0.398
Indentation frequencyHow rapidly indentation changes from line to line.10−0.391
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.14.939−0.201

Intercept 0.07 + feature contributions = 1.048 (log-odds).
Score = sigmoid(1.048) = 0.74.

Score0.837
Score2
Run 1

The code is highly readable. It has a clear structure: a single static factory method with a well-defined contract. Nesting is minimal (only the method body). The intent is obvious from the method name and Javadoc — converting a ParameterRegistrationImplementor into a ParameterMemento. Code length is concise, with no redundant logic. Action granularity is excellent: each argument is on its own line, making the constructor call easy to scan and verify. Reading flow is natural: documentation first, then method signature, then a single clear statement. Minor deductions: the Javadoc could be slightly more descriptive about the memento’s purpose, and the code lacks validation (e.g., null checks) but that is not required for readability. Overall, it is a clean, maintainable snippet.

Run 2

The code is highly readable due to its clear structure and concise implementation. It has a single public static factory method with a well-defined purpose, documented via Javadoc including parameter and return descriptions. The method body is flat with no nesting, performing one conceptual action: constructing and returning a ParameterMemento. Each constructor argument is on its own line, improving scanning and reducing line length. The naming is descriptive and consistent with Java conventions. The only minor weakness is the indentation of the Javadoc comment, which has extra leading tabs, slightly disrupting visual alignment. Overall, the code is clean, intention-revealing, and maintainable.

Run 3

The code is highly readable. It has a clear, single responsibility, good structure, and minimal nesting. The method name and Javadoc clearly state intent. Each argument is on its own line, improving scanability. Slight improvement could be reducing the Javadoc verbosity relative to the simple action, but overall it follows clean code principles.

Run 1

Code Structure: A well-organized factory method with relevant documentation. Nesting: Flat, with no branching or nested control flow. Clarity of intent: The method name, parameter name, and Javadoc clearly communicate the conversion from a registration to a memento. Code length: Concise, though the Javadoc slightly repeats what the signature conveys. Action granularity: Each constructor argument appears on its own line, making the extracted properties easy to scan. Reading flow: Natural progression from documentation to signature to object construction; readers must consult the constructor to verify the meaning and order of its positional arguments.

Run 2

Code Structure: A well-organized factory method with helpful documentation. Nesting: Flat, with no branching or nested control flow. Clarity of intent: The method name and Javadoc clearly explain the conversion from registration to memento, though positional constructor arguments require some knowledge of ParameterMemento. Code length: Concise, with no unnecessary logic. Action granularity: Each getter appears on its own line, making the constructor inputs easy to scan. Reading flow: Natural progression from documentation to method signature to object construction; consistent formatting supports readability.

Run 3

Code Structure: A single, logically organized factory method. Nesting: Flat, with no conditional or loop nesting. Clarity of intent: The method name, documentation, and constructor call clearly communicate conversion from a parameter registration to a memento. Code length: Concise implementation; the documentation is slightly repetitive but useful. Action granularity: Each constructor argument appears on its own line, making the extracted properties easy to scan. Reading flow: Natural progression from documentation to method declaration to object construction. Minor readability limitations are the positional constructor arguments, whose meanings depend on their getter names, and somewhat excessive indentation.