Sample
pyint-e7e84f895162-I11
Split eligible integer literals into pairs of short-named intermediate variables
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0 | 0–1; higher is more readable |
| Dorn | 0.893 | 0–1; higher is more readable |
| Mi | 0.335 | 0–1; higher is more readable |
| LLOC | 60 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 16.67 | 0–20; mean of three runs |
| GPT-6.1 Sol | 16.67 | 0–20; mean of three runs |
| BTTF | 0.399 | 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. | 3336.79 | −110.114 |
| Source linesThe number of non-empty source lines. | 84 | +33.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.368 | −6.552 |
Intercept 8.87 + feature contributions = -74.196 (log-odds).
Score = sigmoid(-74.196) = 0.
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Indentation frequencyHow rapidly indentation changes from line to line. | 82 | +2.099 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 85 | −1.973 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 83.655 | +0.76 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 85.859 | +0.581 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 1 | +0.398 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.081 | +0.155 |
| 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. | 85.894 | +0.027 |
Intercept 0.07 + feature contributions = 2.117 (log-odds).
Score = sigmoid(2.117) = 0.893.
| Score | 0.335 |
|---|
| Score | 60 |
|---|
Run 1
The code is generally well-structured and readable. It follows a clean class-based approach with clear separation of concerns (explained vs fast loading paths). Functions are small and focused with descriptive names. The nesting level is shallow (maximum 2-3 levels), and the flow from public method to private helpers is logical. Type hints improve clarity significantly. The main weaknesses are: (1) the complex tuple type annotations create noise and potential maintenance burden - extracting a type alias would improve readability; (2) the `_get_source_explained` method has slightly convoluted logic with `rv` and `trv` variables that could use clearer naming; (3) some lines with type unions are quite long. Overall, the code demonstrates good practices like single responsibility, consistent error handling, and readable iteration patterns.
Run 2
The code is highly readable. It follows a clean, logical structure with clear separation of concerns: dispatch, explained loading, fast loading, loader iteration, and template listing. Each method has a single responsibility. Nesting is minimal, with only a couple of levels in the loops and conditionals. Intent is clear from method and variable names—e.g., `_get_source_explained` vs `_get_source_fast`, `attempts`, `trv`. Code length is appropriate and not overly verbose. Action granularity is generally one action per line, though a few multi-part lines (e.g., unpacking from `_iter_loaders`) remain clear. Reading flow is natural: the logic progresses top-down, and helper methods are well-named and ordered logically. Type hints are used sparingly but effectively. Minor room for improvement: some duplicated logic between explained and fast methods could be abstracted, and the type hint for `Scaffold` appears without import context.
Run 3
The code is well-structured and readable. It uses clear class and method names, type hints, and docstrings. The split between 'explained' and 'fast' loading paths is logical and avoids excessive nesting. Each method has a single responsibility and error handling is straightforward. Minor drawbacks include some repetitive variable type annotations and a slightly unclear 'trv' variable name, but overall intent is clear and flow is natural.
Run 1
Code Structure: Methods cleanly separate loader iteration, fast lookup, diagnostic lookup, and template listing. Nesting: Mostly shallow, although diagnostic lookup and blueprint template listing reach three levels. Clarity of intent: Descriptive method names, type hints, and the class docstring explain the purpose; abbreviated variables such as rv, trv, and srcobj obscure details. App and Scaffold types are not defined or imported in the snippet. Code length: Generally concise, but repeated complex return annotations and the template-listing loop could be simplified. Action granularity: Statements consistently perform one action per line. Reading flow: Public dispatch followed by lookup implementations and loader enumeration is logical, though the mid-method import and unused imports introduce minor distractions.
Run 2
Code Structure: Well-organized class with separate methods for loader iteration, fast lookup, diagnostic lookup, and template listing. Nesting: Mostly shallow, although diagnostic lookup and blueprint template listing introduce additional nesting. Clarity of intent: Descriptive method names, a useful class docstring, and type annotations clarify behavior; abbreviated names such as rv and trv and unexplained App and Scaffold references reduce clarity. Code length: Generally concise, but repeated complex tuple annotations and the inner template-listing loop add avoidable verbosity. Action granularity: Statements consistently perform one action per line. Reading flow: Public dispatch followed by specialized implementations reads naturally, though the local import and dense annotations slightly interrupt the flow.
Run 3
Code Structure: Well-organized class separates dispatch, diagnostic loading, fast loading, loader iteration, and template listing. Nesting: Mostly shallow, though diagnostic loading and blueprint template listing introduce several levels. Clarity of intent: Descriptive method names, a class docstring, and type annotations explain the purpose; abbreviated variables such as rv and trv and unexplained App and Scaffold types reduce clarity. Code length: Generally concise, but repeated complex tuple annotations and the template-by-template set insertion add avoidable verbosity. Action granularity: Statements generally perform one action per line, making operations easy to follow. Reading flow: Public dispatch precedes its implementations, followed by supporting methods, producing a natural progression. The local import and unused template parameter in _iter_loaders are minor distractions.