Sample
pyint-400e8bd3620f-I01
Remove comments and docstrings
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0 | 0–1; higher is more readable |
| Dorn | 0.743 | 0–1; higher is more readable |
| Mi | 0.395 | 0–1; higher is more readable |
| LLOC | 17 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 16 | 0–20; mean of three runs |
| GPT-6.1 Sol | 17 | 0–20; mean of three runs |
| BTTF | 0.561 | 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. | 773.682 | −25.532 |
| Source linesThe number of non-empty source lines. | 31 | +12.4 |
| 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.417 | −6.625 |
Intercept 8.87 + feature contributions = -10.887 (log-odds).
Score = sigmoid(-10.887) = 0.
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 0 | −0.804 |
| 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. | 72 | +0.616 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.043 | +0.525 |
| 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 frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 32 | −0.097 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 30.849 | +0.021 |
Intercept 0.07 + feature contributions = 1.064 (log-odds).
Score = sigmoid(1.064) = 0.743.
| Score | 0.395 |
|---|
| Score | 17 |
|---|
Run 1
The code is mostly clear and logically structured. Class definition is simple, with a single method and a string representation method. The error message construction uses a list and conditional append, which is readable. However, there are some minor issues: the inheritance from two exceptions (KeyError and AssertionError) is unusual and could confuse readers; the parameters are not type-annotated despite importing typing; the 'request' parameter is not used for form_matches, so the flow from request to form_matches lacks clarity; long f-string formatting lines reduce readability slightly. Nesting is minimal, action granularity is decent, but reading flow could be improved with better type hints and a comment explaining the custom exception's purpose.
Run 2
The code is generally readable with a clear class definition and logical error message construction. Structure is good: the __init__ method builds a list of message parts and joins them, which is clean. Nesting is minimal (one if block). However, clarity of intent is slightly reduced by inheriting from both KeyError and AssertionError, which is unusual and may confuse readers. Action granularity is mostly good, though the long list construction with mixed string concatenation and f-strings in the buf assignment could be split for easier reading. The reading flow is natural: error context, optional file names, then message assembly. Overall, the code is concise and well-organized, but the dual inheritance and slightly dense message-building section keep it from being exceptional.
Run 3
The code is well-structured with clear separation of concerns and follows Python conventions. The class definition is clean, with a single-purpose constructor and string method. Nesting is minimal (one conditional), and the logic flows naturally from error diagnosis to message construction. Variable names are descriptive (form_matches, buf, names), and action granularity is appropriate—each list append and string join is on its own line. Type hints improve clarity. Minor deductions: the mixed use of f-strings and regular strings in the error message list is slightly inconsistent, and the class inheritance from both KeyError and AssertionError could be briefly documented to clarify intent. Overall, the code is readable and maintainable.
Run 1
Code Structure: The exception class is logically organized, separating message construction from string representation, though several imports are unused. Nesting: A single conditional keeps the code flat and easy to follow. Clarity of intent: The descriptive class name, type annotations, and informative error message clearly convey its purpose; however, Request is not imported in the snippet, and buf is a generic name. Code length: The implementation is concise, with most lines devoted to useful diagnostic text, although excess blank lines add clutter. Action granularity: Each statement performs one distinct action, making execution easy to track. Reading flow: The progression from checking submitted form values to building and returning the message is natural. Mixed string quoting and the lengthy concatenated message slightly interrupt visual consistency.
Run 2
Code Structure: The exception class is logically organized, with message construction in __init__ and representation in __str__, though several imports appear unused. Nesting: Only one shallow conditional keeps complexity low. Clarity of intent: Descriptive names and an informative error message clearly explain the purpose; the missing Request import and unexplained dual inheritance slightly reduce clarity. Code length: The implementation is concise, although the long error message dominates the code and excess blank lines add noise. Action granularity: Each statement performs a distinct operation, with no compressed multi-action lines. Reading flow: Execution proceeds naturally from collecting form values to building the message and optionally adding context, but mixed quoting and split string literals mildly interrupt reading.
Run 3
Code Structure: The exception class is logically organized, with message construction in __init__ and presentation in __str__, though unused imports add clutter. Nesting: A single conditional keeps the code flat and easy to follow. Clarity of intent: The class name and detailed error message clearly communicate its purpose; abbreviated names such as buf and the unresolved Request annotation slightly reduce clarity. Code length: The implementation is concise, although the long diagnostic message occupies much of it. Action granularity: Each statement performs a distinct action, with no compressed multi-action lines. Reading flow: The sequence from checking form data to building and returning the message is natural. Excess blank space after the class declaration and fragmented string literals create minor visual distractions.