Sample
Dorn/python/6
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0.788 | 0–1; higher is more readable | 85.5Δ 62.4 |
| Scalabrino | 0.33 | 0–1; higher is more readable | 24.4Δ 1.3 |
| Dorn | 0.565 | 0–1; higher is more readable | 49.3Δ 26.2 |
| Mi | 0.626 | 0–1; higher is more readable | 67.1Δ 44.0 |
| LLOC | 3 | Logical lines; fewer is more readable | 88.6Δ 65.5 |
| DeepSeek V4 Pro | 11 | 0–20; mean of three runs | 46.4Δ 23.3 |
| GPT-6.1 Sol | 14.67 | 0–20; mean of three runs | 47.1Δ 24.0 |
| BTTF | 0.613 | 0–1; higher is more readable | 76.6Δ 53.5 |
| Human | 2.86 | 1–5; original rating | 23.1 |
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) |
|---|---|---|
| Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones. | 385.436 | −12.719 |
| Source linesThe number of non-empty source lines. | 30 | +12 |
| 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.557 | −6.835 |
Intercept 8.87 + feature contributions = 1.315 (log-odds).
Score = sigmoid(1.315) = 0.788.
| Score | 0.33 |
|---|
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Indentation frequencyHow rapidly indentation changes from line to line. | 1 | −0.703 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 90.968 | +0.663 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.037 | +0.583 |
| 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. | 90.968 | −0.188 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 23 | −0.107 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 31 | −0.061 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 29.576 | +0.004 |
Intercept 0.07 + feature contributions = 0.261 (log-odds).
Score = sigmoid(0.261) = 0.565.
| Score | 0.626 |
|---|
| Score | 3 |
|---|
Run 1
The code is a data structure defining releases, features, and bugs, which is inherently repetitive. However, readability suffers from inconsistent formatting and indentation. The first `featuresChanged` block appears to be part of a larger structure but is misaligned and lacks a clear enclosing `Release` or similar context. This disrupts the logical organization and reading flow. The use of triple-quoted strings for long descriptions is good for readability, but line breaks within them are inconsistent. The action granularity is mostly one item per line, which is positive, but the nesting and indentation errors make it hard to follow the hierarchy. The intent (defining release notes) is clear, but the structural inconsistencies and missing context reduce overall clarity. The code is concise but could benefit from consistent alignment and a clear surrounding structure.
Run 2
The code lacks clear enclosing structure and has confusing indentation, with the first featureChanged list appearing detached from its parent object. Nesting is moderate but inconsistent, impacting logical organization. Intent is generally clear—this is release note data—but the malformed structure obscures the relationship between releases and their metadata. Length is reasonable and each action is mostly on its own line, but multi-line strings in function calls disrupt flow. The reading flow is disorganized due to uneven indentation and missing context, making it harder to scan. With proper indentation and an obvious surrounding class or function, readability would improve significantly.
Run 3
The code is fairly readable in terms of individual constructs, but suffers from structural and syntactical issues. The indentation is inconsistent, and there are mismatched parentheses/brackets, making the overall structure ambiguous. Nesting is moderate but made worse by unclear boundaries between releases. The intent of defining releases and features is understandable, yet the formatting disrupts clarity. Lines are split awkwardly, and some strings extend across multiple physical lines unnecessarily. The reading flow is disrupted by inconsistent indentation and missing or extra delimiters, forcing the reader to mentally parse the structure. More consistent formatting, proper closure of brackets, and alignment would significantly improve readability.
Run 1
Code Structure: Release entries logically group summaries, bug fixes, and features, but the fragment begins mid-entry, obscuring its enclosing structure. Nesting: Shallow nesting of lists and constructor calls is easy to follow. Clarity of intent: Descriptive names and plain-language release notes make the purpose clear. Code length: Appropriately concise for release metadata, though multiline descriptions occupy most of the snippet. Action granularity: Entries are separated clearly, but constructor calls sometimes combine descriptions and identifiers without labels. Reading flow: Chronological entries and consistent field ordering support scanning; uneven indentation, awkward closing delimiters, and inconsistent whitespace interrupt the flow.
Run 2
Code Structure: Release entries are logically organized into summaries, bug fixes, and feature changes, although the snippet begins mid-entry. Nesting: Shallow nesting of constructors and lists keeps complexity low. Clarity of intent: Descriptive names and plain-language release notes clearly convey the purpose; positional URLs and issue IDs are less explicit. Code length: Appropriately concise for release metadata, with longer descriptions providing useful information. Action granularity: Each release-note item is separately expressed, though constructor arguments share lines. Reading flow: Repeated patterns make the entries easy to scan, but inconsistent indentation, awkward closing-bracket placement, extra whitespace, and uneven text wrapping interrupt the flow.
Run 3
Code Structure: Release entries logically group summaries, bug fixes, and feature changes, but the fragment begins mid-entry with unmatched surrounding context. Nesting: Shallow lists and constructor calls are easy to follow, though closing delimiters have awkward indentation. Clarity of intent: Descriptive names and readable release notes clearly convey a changelog. Code length: Concise for the information represented; multiline descriptions add necessary content rather than excessive logic. Action granularity: Each Bug or Feature constructor represents one distinct entry, although arguments and closing delimiters occasionally share lines. Reading flow: Repeated release layouts provide a predictable flow, but inconsistent indentation, trailing whitespace, and uneven text wrapping interrupt scanning.