Sample
pyint-a9be4792115d-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.815 | 0–1; higher is more readable |
| Mi | 0.382 | 0–1; higher is more readable |
| LLOC | 18 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 17 | 0–20; mean of three runs |
| GPT-6.1 Sol | 18 | 0–20; mean of three runs |
| BTTF | 0.569 | 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. | 782.526 | −25.823 |
| Source linesThe number of non-empty source lines. | 33 | +13.2 |
| 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.439 | −6.659 |
Intercept 8.87 + feature contributions = -10.412 (log-odds).
Score = sigmoid(-10.412) = 0.
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.038 | +0.577 |
| 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. | 74.912 | +0.492 |
| 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. | 31 | +0.335 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 33.088 | −0.271 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 34 | −0.167 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 32.934 | +0.051 |
Intercept 0.07 + feature contributions = 1.485 (log-odds).
Score = sigmoid(1.485) = 0.815.
| Score | 0.382 |
|---|
| Score | 18 |
|---|
Run 1
The code is well-structured and readable. It uses clear imports, logical class definition, and a focused exception class with a single responsibility. The constructor builds an error message via a list of strings, which is a clean approach. Nesting is minimal (one conditional), and each line generally performs one logical action. The f-strings and multi-line string concatenation are readable, though the mixing of f-strings and plain string concatenation slightly interrupts flow. The class docstring explains intent clearly. Minor deductions: 'AssertionError' in the base classes is unusual and could confuse readers; 'form_matches' could be more descriptively named. Overall, the code is concise, well-organized, and easy to follow.
Run 2
The code is well-structured with clear separation of concerns — a custom exception class with a focused, single responsibility. It is flatly organized with no deep nesting, and the control flow is straightforward. Naming is descriptive, and the docstring clearly explains intent. The code is concise for what it does, though the multi-line f-string construction is slightly verbose but improves readability of the final error message. Action granularity is appropriate — each line does one logical step, especially in the list-building section. Reading flow is natural: setup, conditional, then message assembly. Minor deductions for slightly fragmented string concatenation and mixing f-strings with plain strings, which slightly disrupts visual flow, but overall the code is highly readable and maintainable.
Run 3
The code is highly readable with clear structure, minimal nesting, and a single responsibility per method. The custom exception class is logically organized, with the constructor building a helpful error message through a list and join operation. Nested logic is limited to one conditional block. Intent is clear: provide a more descriptive error for missing file keys in requests. Line lengths are reasonable, and each action is on its own line. The reading flow is natural, from error context to message construction to final string output. Minor deductions: the conditional appending to 'buf' could be slightly clearer, and 'self.msg' is initialized implicitly rather than declared in the signature, but overall readability is excellent.
Run 1
Code Structure: The exception class cleanly separates message construction from string representation, though several imports are unused and Request is not visibly defined. Nesting: Only one shallow conditional keeps complexity low. Clarity of intent: The descriptive class name, docstring, and informative error message make the purpose clear; buf and msg are slightly abbreviated. Code length: Compact overall, with most length devoted to useful diagnostic text rather than unnecessary logic. Action granularity: Each statement performs a focused action, and multiline string construction remains readable. Reading flow: Execution proceeds naturally from inspecting form data to constructing the message, optionally adding filenames, and storing the result.
Run 2
Code Structure: The exception class is logically organized, with initialization and string representation separated cleanly. Nesting: Only one shallow conditional keeps complexity low. Clarity of intent: The descriptive class name, docstring, and explicit error message clearly communicate its debugging purpose, though Request is not imported in the snippet and several imports are unused. Code length: The implementation is concise; most of its length comes from helpful diagnostic text. Action granularity: Each statement performs a focused action, and multiline string construction remains readable. Reading flow: Execution naturally progresses from collecting form values to assembling the message and exposing it through __str__. Minor weaknesses include the generic name buf and limited spacing between top-level sections.
Run 3
Code Structure: The exception class is logically organized, with message construction in __init__ and rendering in __str__. Nesting: A single conditional keeps the code shallow and easy to follow. Clarity of intent: Descriptive names, type annotations, and the class docstring clearly communicate the debugging purpose, though Request is not imported in the snippet and several imports are unused. Code length: The implementation is concise; most of its length comes from a useful diagnostic message. Action granularity: Statements generally perform one action each, and multiline string construction remains readable. Reading flow: Execution proceeds naturally from gathering form values to composing the base message, adding optional details, and storing the result. Minor drawbacks include the generic name buf and limited spacing between top-level sections.