Sample

pyint-4855b15aeca9-I13

Lower every eligible synchronous for loop to a while loop

Matched original source

Lines13

Scores

MethodScoreScale
Posnett0.5690–1; higher is more readable
Dorn0.9010–1; higher is more readable
Mi0.6990–1; higher is more readable
LLOC10Logical lines; fewer is more readable
DeepSeek V4 Pro17.330–20; mean of three runs
GPT-6.1 Sol17.330–20; mean of three runs
BTTF0.8110–1; higher is more readable

Views

Source code

from __future__ import annotations import copy import re import sys from typing import Any import attrs @attrs.define(auto_detect=True) class AutoDetect: x: int def __init__(self, x: int): self.x = x

Loading feature diagnosis…

Source regions

Feature contributions

Feature contributions

FeatureValueContribution
(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.218.725−7.218
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.384−6.576
Source linesThe number of non-empty source lines.13+5.2

Intercept 8.87 + feature contributions = 0.277 (log-odds).
Score = sigmoid(0.277) = 0.569.

Feature contributions

FeatureValueContribution
(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.33.429+2.249
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.0−0.804
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.14+0.541
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.1+0.398
Indentation frequencyHow rapidly indentation changes from line to line.13−0.287
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.068+0.278
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.12.686−0.233

Intercept 0.07 + feature contributions = 2.212 (log-odds).
Score = sigmoid(2.212) = 0.901.

Score0.699
Score10
Run 1

The code is very readable with clear structure and intent. It uses modern Python features (from __future__ import annotations, attrs library) and defines a simple class with a single attribute. Each import is on a separate line, the class definition is clean, and the __init__ method clearly assigns the attribute. One minor point: the explicit __init__ method is redundant if auto_detect=True is used, which could be slightly confusing. However, overall the code is concise, flat, and easy to follow.

Run 2

The code is well-structured, concise, and clearly readable. It imports only necessary modules, though some (copy, re, sys, Any) are unused. The class definition is minimal: it uses the attrs library with auto_detect=True, but then redundantly defines a manual __init__ that simply assigns the attribute, which creates a mild confusion about intent. Nesting is flat, actions are granular, and flow is natural. The unused imports slightly reduce clarity, but overall the code is easy to follow.

Run 3

The code is highly readable. It has a clear structure with imports, a class definition, and a single method. Nesting is flat, and the intent is explicit: defining a simple attrs-based class with auto-detection. Code length is minimal and appropriate. Each logical action is on its own line, promoting good action granularity. Reading flow is natural, following a logical top-to-bottom progression. Minor deductions could be made for the redundant explicit __init__ method, which slightly conflicts with the attrs.define(auto_detect=True) decorator — attrs would generate this automatically. This redundancy could confuse a reader unfamiliar with attrs. Additionally, importing sys, re, Any, and copy are unused, slightly reducing clarity. Overall, the code is clean, concise, and easy to follow.

Run 1

Code Structure: Imports, class declaration, and initializer are logically organized, though unused imports add clutter and spacing between top-level elements could improve. Nesting: Minimal nesting makes the code easy to follow. Clarity of intent: The class clearly stores an integer, but the generic names and interaction between attrs auto-detection and the explicit initializer require some library knowledge. Code length: Very short, although several imports are unnecessary. Action granularity: Each statement performs one action. Reading flow: Natural top-to-bottom flow, with only minor distractions from unused imports and tight spacing.

Run 2

Code Structure: Imports and the class are logically organized, though unused imports (copy, re, sys, Any) add clutter. Nesting: Minimal nesting makes the code easy to scan. Clarity of intent: The class clearly stores an integer, but generic names AutoDetect and x provide little domain context, and auto_detect=True assumes familiarity with attrs. Code length: Very concise, although the explicit initializer duplicates functionality attrs can generate. Action granularity: Each statement performs one clear action. Reading flow: Natural top-to-bottom progression from imports to class declaration and initialization; additional spacing between import groups and the class would improve presentation.

Run 3

Code Structure: Imports and a single class are logically organized, though several imports are unused and spacing between imports and the class could improve. Nesting: Minimal nesting makes the code easy to follow. Clarity of intent: The typed attribute and initializer are clear, but the generic class name and unexplained auto_detect setting provide little context. Code length: Very concise, although unused imports add clutter; the explicit initializer may be intentional for demonstrating automatic method detection. Action granularity: Each line performs one distinct action. Reading flow: Natural top-to-bottom progression from imports to class definition to initialization, with only minor formatting distractions.