Sample
pyint-a4ea212f50fc-I06
Invert eligible conditions and exchange their branches
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0 | 0–1; higher is more readable |
| Dorn | 0.765 | 0–1; higher is more readable |
| Mi | 0.713 | 0–1; higher is more readable |
| LLOC | 20 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 17.33 | 0–20; mean of three runs |
| GPT-6.1 Sol | 18 | 0–20; mean of three runs |
| BTTF | 0.129 | 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. | 702.957 | −23.198 |
| Source linesThe number of non-empty source lines. | 24 | +9.6 |
| 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.707 | −7.061 |
Intercept 8.87 + feature contributions = -11.789 (log-odds).
Score = sigmoid(-11.789) = 0.
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. | 46.92 | +1.678 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 0 | −0.804 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.076 | +0.202 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 25 | +0.151 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 24 | −0.13 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 24 | +0.093 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 23.583 | −0.08 |
Intercept 0.07 + feature contributions = 1.18 (log-odds).
Score = sigmoid(1.18) = 0.765.
| Score | 0.713 |
|---|
| Score | 20 |
|---|
Run 1
The code is highly readable with a clear, logical structure. It uses a flat hierarchy with no nesting, making the control flow obvious. Each class method has a single, well-defined purpose with clear intent expressed through descriptive method names and type hints. The code is concise, avoiding unnecessary boilerplate, and maintains one action per line. The reading flow is natural, grouping related imports together and organizing class methods in a logical sequence (check, to_json, to_python). The use of `__slots__` and type hints demonstrates thoughtful design without sacrificing clarity.
Run 2
The code demonstrates excellent readability. It has a clear, logical structure with a single class definition and proper type hints. Nesting is minimal, with only one level of indentation in methods. The intent is immediately clear: it's a JSON tag for datetime serialization that converts between Python datetime objects and HTTP date strings. Each method is concise, focused on a single responsibility, and performs one action per line. The reading flow is natural, progressing from imports to class definition to methods ordered logically (check, to_json, to_python). The use of `__slots__` and the custom key `" d"` shows intentional design. Minor improvements could include a brief docstring explaining the custom key format, but the code remains highly maintainable and self-documenting.
Run 3
The code is well-structured and readable with clear intent. It uses a logical class organization, flat nesting, and concise methods. Imports are explicit and grouped sensibly (stdlib, third-party, local). Each method performs one action and the return types are clear from context. Method names like 'check', 'to_json', and 'to_python' clearly indicate their purpose. However, minor deductions: the class references 'JSONTag' without definition or import in this snippet, which could confuse readers. Additionally, type hints use 't.Any' consistently but could be more specific. Overall, it follows good practices and is easy to follow.
Run 1
Code Structure: The class is logically organized into type checking, serialization, and deserialization methods, although several imports are unused in this snippet and JSONTag is not shown. Nesting: There is no nested control flow; each method is straightforward. Clarity of intent: The class and method names clearly convey datetime conversion, but the tag key " d" is unexplained and broad t.Any annotations provide little type detail. Code length: The implementation is concise, though the import section adds unnecessary length for the code shown. Action granularity: Each statement performs one action, making individual lines easy to understand. Reading flow: The methods follow a natural check-to-encode-to-decode sequence; additional spacing between imports and the class would improve visual separation.
Run 2
Code Structure: The class is logically organized into type checking, serialization, and deserialization methods. Nesting: There is no nested control flow, making the code easy to scan. Clarity of intent: The class name and method names clearly communicate datetime conversion, though the unexplained key " d" and externally defined JSONTag base class require context. Code length: The implementation is concise, but several imports are unused in the provided snippet. Action granularity: Each statement performs a single action, with straightforward one-line method bodies. Reading flow: Imports followed by a small class provide a natural progression; an additional blank line before the class and tighter import grouping would improve presentation.
Run 3
Code Structure: The class is logically organized into type checking and two conversion methods, though several imports are unused in this snippet and JSONTag is not defined or imported. Nesting: Minimal nesting makes the code easy to scan. Clarity of intent: Descriptive class and method names clearly communicate datetime serialization, but the opaque key " d" and broad Any annotations provide little explanatory context. Code length: The implementation is concise without unnecessary logic. Action granularity: Each statement performs a single action. Reading flow: The progression from checking a value to converting it to JSON and back is natural; clearer import grouping and spacing before the class would improve presentation.