Sample
pyint-ea64df68304c-I09
Select one of ten low-readability unrelated code templates per class
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0.824 | 0–1; higher is more readable |
| Dorn | 0.916 | 0–1; higher is more readable |
| Mi | 0.472 | 0–1; higher is more readable |
| LLOC | 6 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 17.33 | 0–20; mean of three runs |
| GPT-6.1 Sol | 17.33 | 0–20; mean of three runs |
| BTTF | 0.85 | 0–1; higher is more readable |
Views
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.855 | −7.282 |
| Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones. | 146.719 | −4.842 |
| Source linesThe number of non-empty source lines. | 12 | +4.8 |
Intercept 8.87 + feature contributions = 1.546 (log-odds).
Score = sigmoid(1.546) = 0.824.
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. | 60 | +1.124 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.015 | +0.797 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 13 | +0.576 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 7 | −0.495 |
| 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. | 11.639 | −0.247 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 59.923 | +0.162 |
Intercept 0.07 + feature contributions = 2.385 (log-odds).
Score = sigmoid(2.385) = 0.916.
| Score | 0.472 |
|---|
| Score | 6 |
|---|
Run 1
The code is highly readable with a clear, logical structure. It imports only necessary components, groups them logically (standard typing, third-party, local), and defines a single, well-named exception class. Nesting is non-existent, and the class purpose is explicit through a descriptive name and a succinct docstring that explains what the error represents and how to catch it. Code length is minimal and appropriate, with one action per line where applicable. Reading flow is natural: imports, then class definition, then documentation. Minor points deducted only because the class body is entirely documentation with no custom logic, which might initially confuse some readers about its necessity, though this is common for exception classes. Overall, it adheres well to clean-code principles.
Run 2
The code is clean, concise, and well-organized. It imports only necessary components, uses `__future__` annotations for consistency, and defines a single exception class with a clear docstring explaining its purpose and relationship to other exceptions. The structure is flat, with no nesting, and each import/logical unit is clearly separated. The intent is unambiguous, and the length is appropriate for the functionality. Minor deductions might include the slightly redundant import aliases (`BaseHTTPError`, `CompatJSONDecodeError`) which could confuse readers if unused in the shown snippet, but overall the code is highly readable.
Run 3
The code is clear, well-structured, and easy to read. It uses modern Python features (from __future__ import annotations) and explicit imports with sensible aliases. The class definition is concise, with a clear docstring that explains the purpose and usage. There is no unnecessary nesting, and each import is on its own line, preserving action granularity. The only minor deduction is for the unused TYPE_CHECKING import and the slightly verbose alias naming, which could be shortened without losing clarity.
Run 1
Code Structure: Simple, logically organized imports followed by an exception class, though RequestException is not defined or imported in the snippet. Nesting: Minimal, with only the class body indented. Clarity of intent: The Timeout name and docstring clearly explain its purpose and related exceptions. Code length: Concise, but several imports appear unused in this excerpt. Action granularity: Each import occupies its own line, and the class has a single documentation responsibility. Reading flow: Natural top-to-bottom progression, although import grouping and an additional blank line before the class would improve presentation.
Run 2
Code Structure: Imports followed by a single exception class provide clear organization, though RequestException is not defined or imported in the snippet. Nesting: Minimal, with only a class and its docstring. Clarity of intent: The descriptive class name and docstring clearly explain the timeout exception and its subclasses. Code length: Concise, although several imports appear unused in the provided snippet. Action granularity: Each import occupies its own line, and the class has a single purpose. Reading flow: Natural top-to-bottom progression; an additional blank line before the top-level class would improve conventional formatting.
Run 3
Code Structure: Imports followed by a single exception class are logically organized, though RequestException is not defined or imported in this snippet. Nesting: Minimal nesting makes scanning easy. Clarity of intent: The Timeout name and descriptive docstring clearly communicate the exception's purpose and related subclasses. Code length: Very concise, but several imports appear unused within the provided snippet. Action granularity: Each import and declaration occupies its own line, with no combined operations. Reading flow: Natural top-to-bottom progression, although grouping imports and adding another blank line before the class would improve formatting.