Sample
Scalabrio67
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0.895 | 0–1; higher is more readable | 96.5Δ 1.3 |
| Scalabrino | 0.793 | 0–1; higher is more readable | 83.4Δ 14.3 |
| Dorn | 0.74 | 0–1; higher is more readable | 83.4Δ 14.3 |
| Mi | 0.837 | 0–1; higher is more readable | 98.5Δ 0.8 |
| LLOC | 2 | Logical lines; fewer is more readable | 98.7Δ 1.0 |
| DeepSeek V4 Pro | 17.67 | 0–20; mean of three runs | 96.0Δ 1.8 |
| GPT-6.1 Sol | 19 | 0–20; mean of three runs | 98.0Δ 0.3 |
| BTTF | 0.823 | 0–1; higher is more readable | 98.5Δ 0.8 |
| Human | 4.67 | 1–5; original rating | 97.7 |
Views
Select the downloaded ZIP or its extracted folder. Files stay in your browser.
Loading feature diagnosis…
Source regions
Feature contributions
Feature contributions
| Feature | Value | Contribution (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.
| Score | 0.793 |
|---|
Feature contributions
| Feature | Value | Contribution (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.
| Score | 0.837 |
|---|
| Score | 2 |
|---|
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.