Sample
pyint-ac46bb26f46b-I12
Inline all eligible single-use intermediate local variables
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0.007 | 0–1; higher is more readable |
| Dorn | 0.846 | 0–1; higher is more readable |
| Mi | 0.401 | 0–1; higher is more readable |
| LLOC | 13 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 16.67 | 0–20; mean of three runs |
| GPT-6.1 Sol | 17 | 0–20; mean of three runs |
| BTTF | 0.727 | 0–1; higher is more readable |
Views
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. | 533.839 | −17.617 |
| Source linesThe number of non-empty source lines. | 27 | +10.8 |
| 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.69 | −7.034 |
Intercept 8.87 + feature contributions = -4.981 (log-odds).
Score = sigmoid(-4.981) = 0.007.
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. | 71.964 | +0.617 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.039 | +0.559 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 1 | +0.398 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 61.857 | +0.194 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 16 | −0.184 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 27 | +0.08 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 26.849 | −0.035 |
Intercept 0.07 + feature contributions = 1.7 (log-odds).
Score = sigmoid(1.7) = 0.846.
| Score | 0.401 |
|---|
| Score | 13 |
|---|
Run 1
The code is well-structured with clear class definition, logical MRO handling, and explicit intent through docstrings. It maintains flat nesting, concise methods, and one action per line. Minor readability trade-offs include slightly complex inheritance (necessary for the use case) and somewhat dense docstrings, but overall it is highly readable and maintainable.
Run 2
The code is well-structured and readable. It has a clear class hierarchy with explicit docstrings explaining non-obvious design decisions, particularly around MRO and pickling. Nesting is minimal, actions are separated logically, and naming is descriptive. The only minor issues are that the base classes (InvalidJSONError, BaseHTTPError, TYPE_CHECKING) are not shown, requiring some context, and the type annotation `tuple[Any, ...] | str` is slightly unusual but still clear. Overall, intent is well-documented and flow is natural.
Run 3
The code is well-structured and readable. It uses clear class inheritance, a docstring that explains the purpose, and concise method implementations. The __init__ method has a clean flow with comments explaining the non-obvious inheritance ordering and why it matters. The __reduce__ method is similarly clear, with a helpful docstring explaining the pickling behavior. Nesting is minimal, and actions are generally one per line. The only minor issues are that the code requires some familiarity with Python's multiple inheritance and error class hierarchies to fully grasp the rationale, making it slightly less accessible to junior developers. Overall, the code demonstrates good clarity of intent and logical organization.
Run 1
Code Structure: Imports and a focused exception class are logically organized, although InvalidJSONError is not defined or imported in the snippet and two imports appear unused. Nesting: Methods are flat, with no nested control flow. Clarity of intent: Descriptive names, type annotations, and docstrings explain the subtle initialization and pickling behavior; missing context for InvalidJSONError slightly reduces clarity. Code length: Implementation is concise, though the explanatory docstrings are somewhat verbose and contain minor grammatical issues. Action granularity: Each statement performs one clear action. Reading flow: Initialization followed by serialization support creates a natural progression, with consistent indentation and spacing within the class; additional separation between imports and the class would improve presentation.
Run 2
Code Structure: The class cleanly separates initialization from pickling behavior, although InvalidJSONError is undefined in the supplied snippet and two imports are unused. Nesting: There is no nested control flow, making the implementation easy to scan. Clarity of intent: Descriptive names, type annotations, and docstrings explain the otherwise subtle multiple-inheritance behavior. Minor grammatical issues slightly reduce polish. Code length: The implementation is concise, though the explanatory docstrings are somewhat verbose. Action granularity: Each statement performs one distinct action. Reading flow: Imports, class declaration, constructor, and serialization method follow a natural order; understanding the explicit parent-method calls requires some familiarity with exception inheritance and Python's method resolution order.
Run 3
1. Code Structure: A focused exception class with logically separated initialization and pickling methods; however, InvalidJSONError is not defined or imported in the snippet, and two imports are unused. 2. Nesting: Flat method bodies with no nested control flow make scanning easy. 3. Clarity of intent: Descriptive names, type annotations, and docstrings explain the unusual multiple-inheritance behavior well, though understanding it requires familiarity with MRO and exception serialization. 4. Code length: Implementation is concise, but the docstrings are somewhat verbose and contain minor grammatical issues. 5. Action granularity: Each statement performs one clear action. 6. Reading flow: Imports, class declaration, initialization, and serialization follow a natural order; the missing base-class context slightly interrupts comprehension.