Sample
pyint-b97aaa86e408-I05
Rewrite eligible decimal integer literals in hexadecimal notation
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0 | 0–1; higher is more readable |
| Dorn | 0.668 | 0–1; higher is more readable |
| Mi | 0.569 | 0–1; higher is more readable |
| LLOC | 18 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 16.33 | 0–20; mean of three runs |
| GPT-6.1 Sol | 17 | 0–20; mean of three runs |
| BTTF | 0.453 | 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. | 660.331 | −21.791 |
| Source linesThe number of non-empty source lines. | 22 | +8.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.71 | −7.065 |
Intercept 8.87 + feature contributions = -11.186 (log-odds).
Score = sigmoid(-11.186) = 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. | 59.957 | +1.126 |
| 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.071 | +0.253 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 23 | +0.222 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 21.754 | −0.106 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 22 | −0.084 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 22 | +0.024 |
Intercept 0.07 + feature contributions = 0.7 (log-odds).
Score = sigmoid(0.7) = 0.668.
| Score | 0.569 |
|---|
| Score | 18 |
|---|
Run 1
The code is highly readable with a clear, logical structure. The class PassList inherits from JSONTag and implements its interface cleanly, with each method performing a distinct action. Nesting is minimal, and the code is concise, avoiding unnecessary length. Intent is evident: the class handles serialization of list types by tagging each item. Action granularity is appropriate, with one clear operation per line, and the reading flow follows a natural sequence from type checking to serialization. Minor deductions are for the redundant tag = to_json assignment, which is slightly ambiguous without context, but overall the code is well-organized and easy to follow.
Run 2
The code is generally readable with clear imports, a concise class definition, and straightforward methods. However, some issues affect clarity: 'PassList' is an unclear name, the method alias 'tag = to_json' at the class level is unusual and could confuse readers, and the lack of docstrings or type annotations on method parameters and return values reduces intent clarity. The 'check' method is simple, but the relationship between 'PassList' and its parent class 'JSONTag' is not evident. Additionally, while the code is short and flat, the semantic purpose of the class and the reasoning behind the alias are not self-explanatory, slightly lowering overall readability.
Run 3
The code is generally well-structured and readable. Imports are organized, the class uses __slots__ for efficiency, and the methods are concise with clear purposes. The check method clearly validates list types, and to_json efficiently maps the serializer over list items. However, 'PassList' is somewhat ambiguous as a name—it doesn't clearly communicate that this is a JSON serialization tag for lists. Assigning tag = to_json at class level is concise but slightly obscures intent. The code is flat, avoids unnecessary nesting, and follows a natural reading flow.
Run 1
Code Structure: The class is logically organized into type checking and serialization methods, although many imports are unused in this snippet and JSONTag is not defined or imported. Nesting: The code is flat, with no deeply nested control flow. Clarity of intent: Method names and the list comprehension clearly convey list detection and item tagging; however, the class name PassList and the tag alias require some contextual knowledge. Code length: The implementation is concise, but unrelated imports add clutter. Action granularity: Each statement performs a single clear action. Reading flow: The methods follow a natural progression, though placing tag = to_json after the methods makes its relationship slightly less immediately obvious.
Run 2
Code Structure: The class is logically organized into small methods, although numerous unused imports add clutter and JSONTag is not defined or imported in the snippet. Nesting: The code is flat, with only standard class and method indentation. Clarity of intent: check clearly identifies lists, and to_json clearly tags their elements; however, PassList and the tag alias require some surrounding context. Code length: The implementation is concise, but the import block is disproportionately long for the functionality shown. Action granularity: Each line performs one clear action, and the list comprehension is straightforward. Reading flow: The methods follow a natural progression from type checking to conversion, though import clutter and the unexplained alias slightly interrupt comprehension.
Run 3
Code Structure: The class is logically organized into small, focused methods, though the many unused imports distract from the implementation. Nesting: The code is flat, with no deeply nested control flow. Clarity of intent: Type hints, isinstance checking, and the list comprehension clearly convey list handling and item serialization; however, JSONTag is not defined or imported in the snippet, and the purpose of aliasing tag to to_json requires context. Code length: The implementation is concise, but the import section is disproportionately long for the functionality shown. Action granularity: Each line performs one clear action, with a straightforward comprehension. Reading flow: The methods follow a natural progression from checking the value to serializing it, although the unexplained base class and method alias slightly interrupt comprehension.