Sample

Scalabrio4

Human rating uses the original dataset scale.

DatasetScalabrino
Human4.33
Lines24

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett0.9990–1; higher is more readable
100.0Δ 12.1
Scalabrino0.8920–1; higher is more readable
93.0Δ 5.0
Dorn0.9060–1; higher is more readable
100.0Δ 12.1
Mi0.7720–1; higher is more readable
96.0Δ 8.0
LLOC1Logical lines; fewer is more readable
100.0Δ 12.1
DeepSeek V4 Pro17.330–20; mean of three runs
93.2Δ 5.3
GPT-6.1 Sol18.330–20; mean of three runs
93.0Δ 5.0
BTTF0.8720–1; higher is more readable
99.5Δ 11.6
Human4.331–5; original rating
87.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)
Source linesThe number of non-empty source lines.24+9.6
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.139−6.209
Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones.157.173−5.187

Intercept 8.87 + feature contributions = 7.075 (log-odds).
Score = sigmoid(7.075) = 0.999.

Score0.892

Feature contributions

FeatureValueContribution
(log-odds)
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.60+1.124
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.032+0.627
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.15−0.218
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.24+0.187
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.59.958+0.163
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.22.885−0.09

Intercept 0.07 + feature contributions = 2.261 (log-odds).
Score = sigmoid(2.261) = 0.906.

Score0.772
Score1
Run 1

The code is highly readable. It features a single, clear constructor that delegates to a more detailed constructor, following a clean and logical structure. The method is flat with minimal nesting, and the intent is unambiguous. The parameter list is concise, with inline comments clarifying the boolean flags. Each parameter is on its own line, maintaining one action per line and improving readability. The reading flow is natural, starting with the chart object and progressing through configuration options. The only minor drawback is the slight vertical length, but this is justified by the clarity gained.

Run 2

The code is readable due to its clear structure and explicit intent. The constructor delegates to another constructor, which is a common pattern. However, the lengthy parameter list with boolean flags (properties, save, print, zoom, tooltips) reduces clarity—readers must rely on comments to understand each flag's purpose. Nesting is minimal, and action granularity is one action per line. The reading flow is logical but somewhat verbose due to the many default values. Overall, it is maintainable but could be improved by using a builder pattern or configuration object for the boolean options.

Run 3

This code is highly readable. It has a clear, single-purpose constructor that delegates to a more detailed constructor with sensible defaults. The structure is logical and flat with no nesting. Each parameter is on its own line, improving readability and allowing inline comments that clarify the meaning of otherwise ambiguous boolean values. The Javadoc comment is concise and accurate. The code is short and avoids unnecessary logic. Reading flow is natural, moving from the public API to the delegation. Minor deductions could be made for the excessive blank line before the closing brace and the slightly unusual indentation, but overall it is an excellent example of clear constructor delegation.

Run 1

Code Structure: The constructor is logically organized and delegates initialization to another constructor. Nesting: There is no nested control flow, making the code easy to scan. Clarity of intent: The documentation, descriptive constants, and comments identifying boolean options clearly explain its purpose, although the long positional argument list requires some interpretation. Code length: It is concise, with only minor excess whitespace. Action granularity: A single constructor-delegation action is formatted with one argument per line for clarity. Reading flow: Arguments appear in a consistent, natural sequence, and indentation supports readability.

Run 2

Code Structure: A focused constructor cleanly delegates initialization to another constructor. Nesting: Flat, with no conditional or loop nesting. Clarity of intent: Javadoc explains the purpose, descriptive constants identify dimensions and buffering, and inline comments clarify boolean options. Code length: Concise for the number of required arguments, though extra blank lines add minor visual overhead. Action granularity: One constructor invocation, with each argument on its own line for easy scanning. Reading flow: Arguments follow a consistent, natural sequence. The long positional argument list and boolean flags impose a small readability cost.

Run 3

Code Structure: A well-organized constructor delegates initialization to another constructor. Nesting: Flat, with no conditional or loop nesting. Clarity of intent: The Javadoc, descriptive constants, and comments on boolean arguments clearly explain the purpose; the long positional argument list still requires some care to interpret. Code length: Concise for its task, although extra blank lines add minor visual padding. Action granularity: A single delegation call uses one argument per line, making individual settings easy to scan. Reading flow: Natural progression from documentation to signature to default configuration, with consistent indentation and aligned arguments.