Sample
Dorn/python/41
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0.403 | 0–1; higher is more readable | 79.1Δ 3.9 |
| Dorn | 0.945 | 0–1; higher is more readable | 97.8Δ 14.8 |
| Mi | 0.708 | 0–1; higher is more readable | 85.8Δ 2.8 |
| LLOC | 5 | Logical lines; fewer is more readable | 78.0Δ 5.0 |
| DeepSeek V4 Pro | 10.33 | 0–20; mean of three runs | 42.9Δ 40.1 |
| GPT-6.1 Sol | 15 | 0–20; mean of three runs | 52.8Δ 30.2 |
| BTTF | 0.803 | 0–1; higher is more readable | 97.8Δ 14.8 |
| Human | 3.8 | 1–5; original rating | 83.0 |
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.665 | −6.997 |
| Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones. | 165.669 | −5.467 |
| Source linesThe number of non-empty source lines. | 8 | +3.2 |
Intercept 8.87 + feature contributions = -0.394 (log-odds).
Score = sigmoid(-0.394) = 0.403.
Feature contributions
| Feature | Value | Contribution (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. | 34 | +2.225 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 9 | +0.718 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 1 | −0.703 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.026 | +0.685 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 1 | +0.398 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 7.943 | −0.299 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 34 | −0.256 |
Intercept 0.07 + feature contributions = 2.838 (log-odds).
Score = sigmoid(2.838) = 0.945.
| Score | 0.708 |
|---|
| Score | 5 |
|---|
Run 1
The code consists solely of wildcard imports from multiple modules, which severely hampers readability. There is no visible structure or logic to evaluate—only a list of import statements. Wildcard imports make it nearly impossible to determine which names are being used or where they come from, obscuring intent and making the code ambiguous. The code is concise and flat, but this is not a positive attribute when it results in a complete lack of clarity. There is no action granularity or natural reading flow beyond the imports themselves. Overall, this snippet is unreadable in terms of maintainability and understanding, as it provides no meaningful context or explicit dependencies.
Run 2
The code is a simple Python import block, so it is readable in the sense that it is flat, concise, and each import is on its own line. However, it suffers from several clarity issues. The use of wildcard imports (`import *`) from five different modules is a major readability concern because it obscures where specific names originate, making the code's dependencies ambiguous and harder to trace. The module names are somewhat descriptive (e.g., wxSchedule, wxSchedulerConstants), but the lack of explicit imports or aliasing reduces clarity of intent. The shebang and encoding comment are standard and add minor structural clarity. Overall, while the physical layout is clean and action granularity is good, the logical organization and clarity of intent are weakened by the wildcard import style.
Run 3
The code is a short Python module consisting solely of import statements. It is readable in that it is flat, concise, and each import is a single action per line. However, the use of wildcard imports (`import *`) from five different modules severely hinders clarity of intent and code structure. It is impossible to tell which names are being used, where they originate, or if there are conflicts. This makes the module's purpose ambiguous and harms maintainability. The reading flow is natural, but the logical organization is poor because there is no grouping or explanation for the imports. Overall, the code is easy to read syntactically but difficult to understand semantically.
Run 1
Code Structure: Simple, logically organized header followed by related imports. Nesting: Completely flat, with no nested blocks. Clarity of intent: Module names suggest scheduling functionality, but wildcard imports obscure which symbols are needed and where they originate; no actual program purpose is shown. Code length: Very concise, with no unnecessary implementation. Action granularity: Each import occupies its own line. Reading flow: Straightforward and consistent, though explicit imports would make dependencies easier to understand.
Run 2
Code Structure: Simple and logically organized, with file metadata followed by a single import block. Nesting: None, making the code easy to scan. Clarity of intent: Module names suggest scheduling functionality, but wildcard imports obscure which names are needed and where they originate; no executable purpose is shown. Code length: Very concise, with no unnecessary implementation. Action granularity: Each import occupies its own line. Reading flow: Straightforward top-to-bottom flow, although explicit imports would make dependencies clearer.
Run 3
Code Structure: The shebang, encoding declaration, and imports are logically grouped. Nesting: There is no nesting, making the snippet easy to scan. Clarity of intent: Module names suggest scheduling functionality, but wildcard imports obscure which symbols are needed and where they originate. Code length: The snippet is concise, with no unnecessary implementation. Action granularity: Each import occupies its own line. Reading flow: The sequence is straightforward, although explicit imports would make dependencies clearer and reduce potential namespace conflicts.