Sample
pyint-e790d9fefd8c-I06
Invert eligible conditions and exchange their branches
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 highly readable, with clear intent and logical structure. The class definition is concise, and the inheritance order is documented. The `__init__` method uses a well-explained two-step construction pattern, avoiding ambiguity. The `__reduce__` method includes a detailed docstring explaining its necessity, which adds clarity. Nesting is flat, action granularity is appropriate, and the reading flow is natural. Minor deductions: the import of `HTTPError` as `BaseHTTPError` appears unused, and the docstring in `__init__` could be slightly more concise. Overall, excellent clarity and maintainability.
Run 3
The code is generally readable and well-structured. It has a clear class definition with a single method, flat nesting, and concise docstrings explaining intent and rationale. Action granularity is appropriate, with one operation per line in the __init__ and __reduce__ methods. Reading flow is natural, from class docstring to method definitions. However, some aspects slightly reduce clarity: the inheritance order requires careful reading (InvalidJSONError, CompatJSONDecodeError), and the __init__ logic, while documented, relies on understanding the interplay between two parent initializers. The __reduce__ docstring is somewhat verbose and could be condensed. Overall, the code is maintainable and understandable, but the complex inheritance and exception parsing could be simplified or commented further.
Run 1
Code Structure: The class is logically organized into initialization and pickling behavior, though InvalidJSONError is not defined or imported in the snippet and two imports are unused. Nesting: There is no nested control flow, making the methods easy to scan. Clarity of intent: Descriptive aliases and docstrings explain the subtle multiple-inheritance behavior, although understanding it requires familiarity with exception arguments and method resolution order. Code length: The implementation is concise; the docstrings are somewhat lengthy but provide useful context. Action granularity: Each executable line performs one clear action. Reading flow: Imports, class definition, initialization, and serialization follow a natural sequence. Minor grammatical issues in the documentation and missing context slightly reduce readability.
Run 2
Code Structure: Imports and a focused exception class are logically organized, though InvalidJSONError is not defined or imported in the snippet and two imports appear unused. Nesting: Minimal nesting makes both methods easy to follow. Clarity of intent: Type annotations and docstrings explain the unusual initialization and pickling behavior, although understanding multiple inheritance requires some background. Code length: The implementation is concise; the docstrings are somewhat verbose but explain important subtleties. Action granularity: Each executable line performs a single clear action. Reading flow: Initialization followed by serialization support creates a natural progression. Minor grammatical issues in the documentation and missing context slightly reduce readability.
Run 3
Code Structure: The exception class logically groups initialization and pickling behavior, though InvalidJSONError is not defined or imported in the snippet and several imports are unused. Nesting: Flat method bodies make the code easy to scan. Clarity of intent: Descriptive names, type annotations, and docstrings explain the otherwise subtle multiple-inheritance behavior; minor grammatical errors reduce polish. Code length: Implementation is concise, although the explanatory docstrings are somewhat verbose. Action granularity: Each statement performs one distinct action. Reading flow: Imports, class declaration, initialization, and serialization follow a natural order, with explicit base-class calls making execution straightforward to trace.