Sample
pyint-ad635361aff8-I04
Replace names with deterministic minifier-style shortest identifiers
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0 | 0–1; higher is more readable |
| Dorn | 0.766 | 0–1; higher is more readable |
| Mi | 0.139 | 0–1; higher is more readable |
| LLOC | 36 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 3.33 | 0–20; mean of three runs |
| GPT-6.1 Sol | 9.33 | 0–20; mean of three runs |
| BTTF | 0.52 | 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. | 1666.442 | −54.993 |
| Source linesThe number of non-empty source lines. | 56 | +22.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.689 | −7.034 |
Intercept 8.87 + feature contributions = -30.756 (log-odds).
Score = sigmoid(-30.756) = 0.
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 57 | −0.982 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 99 | +0.793 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 42 | +0.716 |
| 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. | 98.947 | −0.526 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 1 | +0.398 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 55.83 | +0.371 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.061 | +0.344 |
Intercept 0.07 + feature contributions = 1.184 (log-odds).
Score = sigmoid(1.184) = 0.766.
| Score | 0.139 |
|---|
| Score | 36 |
|---|
Run 1
This code is extremely difficult to read due to deliberately obfuscated naming (a, b, c, d, e, g, h, i) that obscures purpose, despite docstrings. The structure deviates from standard Flask internals where methods would be 'command' and 'group'. The nesting is moderate but the decorator wrapper adds complexity. Clarity of intent is severely undermined—readers cannot infer what parameters like 'c' and 'd' represent. Code length is reasonable but action granularity suffers from dense lines (e.g., super call combined with ignore comment). Reading flow is unnatural because method names 'a' and 'b' require cross-referencing docstrings to understand behavior. While imports and type hints are proper, the parameter renaming destroys maintainability. The code mimics real Flask source but removes meaningful identifiers, making it harder to audit or modify. Only the docstrings and comments preserve some clarity, but they cannot compensate for the cryptic symbols replacing conventional names.
Run 2
The code is highly unreadable due to deliberate obfuscation. Function and variable names are single letters (a, g, c, d, e, h, i), obscuring intent. References to undefined names (wrap_for_ctx, args, kwargs, with_appcontext) suggest errors or missing context. The decorator logic is muddled, with unclear flow and purpose. Nesting is moderate, but the unclear naming and mixed concerns make the code hard to follow. Method 'a' does multiple things in one decorator closure, violating action granularity. Overall, the structure is tangled, intent is ambiguous, and reading flow is poor despite the short length.
Run 3
The code is highly unreadable due to arbitrary single-letter variable names (a, b, c, d, e, g, h, i) replacing meaningful ones like 'command', 'group', 'args', 'kwargs', etc. This completely obscures the intent and makes the logic ambiguous. It also references an undefined 'wrap_for_ctx' variable and inconsistent parameter usage, likely resulting in runtime errors. The nesting is moderate, but the structure and clarity of intent are severely compromised. While the docstrings are helpful, the method names and parameters undermine them. The code length is acceptable, but action granularity and reading flow suffer from the opaque naming and broken references.
Run 1
Code Structure: Imports and a class with two separate methods provide logical organization, but many imports are irrelevant to the excerpt. Nesting: Shallow nesting, with only an inner decorator and conditional, is easy to follow. Clarity of intent: Docstrings and type annotations help, but single-letter method and variable names obscure purpose. The decorator references wrap_for_ctx, args, and kwargs instead of the available e, c, and d, making its intended data flow confusing. Code length: The implementation is compact, although the import block and verbose docstrings outweigh the small amount of executable code. Action granularity: Statements generally perform one action per line, with a slightly dense chained superclass call. Reading flow: Conventional formatting supports scanning, but inconsistent identifiers and documentation that describes methods without meaningful names interrupt comprehension.
Run 2
Code Structure: The class and two methods are logically organized, but numerous unrelated imports add clutter. Nesting: Shallow nesting, with only a decorator closure and conditional, is easy to follow. Clarity of intent: Docstrings and type annotations explain the intended behavior, but single-letter method and variable names obscure meaning. References to undefined wrap_for_ctx, args, and kwargs instead of e, c, and d create confusion and disconnect the implementation from its apparent intent. Code length: The methods are concise, although the import block is disproportionately long for this snippet. Action granularity: Statements generally perform one action per line, with conventional chained calls. Reading flow: Formatting and spacing are consistent, but misleading method names, inconsistent identifiers, and docstrings referring to same-named Click methods interrupt comprehension.
Run 3
Code Structure: The class and its two methods are logically organized, but the large import block adds clutter relative to the small implementation. Nesting: Shallow nesting, limited to an inner decorator and conditional, is easy to follow. Clarity of intent: Docstrings and type annotations describe the intended behavior, but single-letter method and parameter names obscure meaning. References to undefined wrap_for_ctx, args, and kwargs instead of e, c, and d further undermine comprehension. Code length: The implementation is concise, though many imports are unused in this snippet and documentation outweighs executable code. Action granularity: Statements generally perform one action per line, with only the wrapping and invocation expression slightly compressed. Reading flow: Conventional formatting and method separation help, but inconsistent identifiers force readers to infer connections between the documentation, parameters, and implementation.