Sample
pyint-7adc6d9df512-I05
Rewrite eligible decimal integer literals in hexadecimal notation
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 | 17 | 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 well-structured and highly readable. It uses clear class and method names, follows a logical organization, and keeps nesting shallow. Each method has a single, clear responsibility, with actions appropriately separated across lines. Type hints improve clarity and maintainability. The commented 'explained' path adds minimal complexity while preserving readability. Few minor improvements could be made, such as consolidating repetitive loader checks or simplifying mixed type annotations, but overall the code is concise, intentional, and follows a natural reading flow.
Run 3
The code is well-structured with clear separation of concerns across methods. Each method has a single responsibility and follows consistent patterns. Nesting is minimal—never exceeding two levels, which aids comprehension. The intent is clear: the class dispatches template loading across application and blueprint loaders, with separate fast and explained paths. Type hints improve clarity. However, some minor issues reduce readability: the variable naming (trv, rv, _srcobj) is cryptic, and the explicit tuple type annotations are verbose, adding visual noise. The logic in _get_source_explained is slightly tangled due to tracking both rv and trv. list_templates repeats the loader retrieval pattern from _iter_loaders, though this is likely intentional for iteration efficiency. Overall, the code is highly readable and maintainable.
Run 1
Code Structure: Well-organized class with separate methods for loader iteration, fast lookup, diagnostic lookup, and listing templates. Nesting: Generally shallow, although diagnostic lookup and template listing introduce moderate nesting. Clarity of intent: Descriptive method names, a class docstring, and type annotations communicate purpose; abbreviated variables such as rv, trv, and srcobj make diagnostic logic harder to follow. Code length: Reasonably concise, but repeated complex tuple annotations and loader traversal add verbosity; unused imports and the unused template parameter introduce clutter. Action granularity: Statements generally perform one action per line, with no compressed multi-action statements. Reading flow: Lookup dispatch and fallback behavior follow naturally, but the inline import and dense annotations interrupt the flow slightly.
Run 2
Code Structure: Well-organized class with separate methods for dispatch, diagnostics, fast lookup, loader iteration, and template listing. Nesting: Mostly shallow; the diagnostic loop and blueprint template collection introduce modest nesting. Clarity of intent: Descriptive method names, a helpful class docstring, and type annotations clarify behavior, but abbreviated names such as rv and trv obscure the diagnostic path. Code length: Generally concise, though repeated complex tuple annotations and the nested template-collection loop add avoidable verbosity. Action granularity: Each line generally performs one clear action. Reading flow: Methods follow a logical progression, with straightforward returns and exception handling; the local import slightly interrupts flow. Unused imports, an unused template parameter in _iter_loaders, and externally unresolved App and Scaffold names add minor distractions.
Run 3
Code Structure: Well-organized methods separate dispatch, diagnostic loading, fast loading, loader iteration, and template listing. Nesting: Mostly shallow, although diagnostic loading and blueprint template collection introduce moderate nesting. Clarity of intent: Descriptive method names, a class docstring, and type annotations clarify behavior; abbreviated variables such as rv and trv, undefined-in-snippet types App and Scaffold, and an unused template parameter reduce clarity. Code length: Generally concise, but repeated complex tuple annotations and the inner template-collection loop add avoidable verbosity. Action granularity: Statements consistently perform one action per line. Reading flow: Public dispatch followed by specialized helpers creates a natural progression, with straightforward early returns and exception handling; the local import and dense annotations slightly interrupt that flow.