Sample
pyint-36a45b12abc2-I04
Replace names with deterministic minifier-style shortest identifiers
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0 | 0–1; higher is more readable |
| Dorn | 0.576 | 0–1; higher is more readable |
| Mi | 0.577 | 0–1; higher is more readable |
| LLOC | 31 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 3.67 | 0–20; mean of three runs |
| GPT-6.1 Sol | 11 | 0–20; mean of three runs |
| BTTF | 0.644 | 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. | 1627.533 | −53.709 |
| Source linesThe number of non-empty source lines. | 43 | +17.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.778 | −7.167 |
Intercept 8.87 + feature contributions = -34.806 (log-odds).
Score = sigmoid(-34.806) = 0.
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| 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. | 65.932 | +0.873 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 0 | −0.804 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 43 | +0.75 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 43 | −0.566 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 44 | −0.522 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.064 | +0.317 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 42.776 | +0.188 |
Intercept 0.07 + feature contributions = 0.307 (log-odds).
Score = sigmoid(0.307) = 0.576.
| Score | 0.577 |
|---|
| Score | 31 |
|---|
Run 1
The code is nearly unreadable due to egregious use of single-letter variable names (a, b, c, d, e, f, g) that completely obscure intent. The SafeMIMEMultipart constructor gives no indication what parameters represent, violating clarity of intent. While the structure is technically flat and lines are concise, the meaningless naming destroys reading flow and makes the code appear deliberately obfuscated. The import section is lengthy but standard. The method override __setitem__ shows some logical flow but remains cryptic due to variable names. Action granularity is acceptable with one operation per line. Overall, this reads like minified code rather than maintainable source. A developer would need external documentation or source inspection of parent classes to understand what 'a' through 'g' represent, making this extremely poor readability despite technically simple structure.
Run 2
This code is extremely difficult to read. The import section is quite long and disorganized, with unused imports likely present. The class definition uses single-letter variable names (a, b, c, d, e, f, g) that completely obscure intent - it's unclear what these parameters represent. The SafeMIMEMultipart class has minimal documentation and the method signature provides no context about the role of these arguments. Nesting is not egregious, but clarity of intent is severely compromised by the cryptic naming. Multiple actions occur in single lines (e.g., f, g = forbid_multi_line_headers(...)), which violates the one-action-per-line principle. The reading flow is confusing - a developer cannot understand what this class does without significant investigation. While the structure is technically organized, the naming makes this code practically unreadable and unmaintainable.
Run 3
The code is a confusing mix: a huge, disorganized import block includes many unused modules and unnecessary alphabetized-seeming noise. Class SafeMIMEMultipart is unreadable: parameter names are single letters (a, b, c, d, e, f, g) giving no semantic meaning; MIMEMixin is referenced but not imported; action granularity is poor because the __setitem__ override does multiple things in one line and relies on a function not shown. Nesting is shallow, which is good, but clarity of intent is low—why override __setitem__? What is forbid_multi_line_headers for? The one positive is the class structure is short, but that alone cannot rescue readability. Natural reading flow is broken by cryptic names and unexplained behavior. Overall, this code appears deliberately obfuscated and requires significant context to understand—failing most readability criteria.
Run 1
Code Structure: Imports and a small class provide logical organization, but many imports are unused in this excerpt, and MIMEMixin and forbid_multi_line_headers are not defined here. Nesting: Methods are flat and easy to follow. Clarity of intent: The class name and header-validation call suggest safe MIME handling, but parameter names a–g obscure argument roles and make the constructor difficult to understand. Code length: The implementation is concise, although the extensive imports and unnecessarily split constructor signature add visual overhead. Action granularity: Each statement performs a single clear operation. Reading flow: Initialization and header assignment follow natural sequences, but cryptic names and missing local context interrupt comprehension.
Run 2
1. Code Structure: Imports are grouped logically and the class separates initialization from header assignment, but many imports are unused in this excerpt and MIMEMixin is not defined here. 2. Nesting: Flat methods with no nested control flow are easy to follow. 3. Clarity of intent: The class name and header-validation call suggest safe MIME handling, but single-letter parameters obscure argument roles and forwarding behavior. 4. Code length: Methods are concise, although the extensive import block and multiline signature add disproportionate overhead. 5. Action granularity: Each statement performs a clear operation; tuple assignment appropriately captures validated header values. 6. Reading flow: Initialization followed by header assignment is natural, but cryptic names, missing local context, and minimal spacing between imports and the class interrupt comprehension.
Run 3
Code Structure: Imports and a small class provide recognizable organization, but numerous unused imports distract from the implementation, and MIMEMixin and forbid_multi_line_headers are undefined in the snippet. Nesting: Methods are flat and easy to follow. Clarity of intent: The class name and header-validation call suggest safe MIME handling, but single-letter parameters obscure subtype, boundary, payload, encoding, and header arguments. Code length: Methods are concise, although the import block is disproportionately long and the constructor signature is unnecessarily spread across lines. Action granularity: Each statement performs a focused operation; paired assignment naturally captures the validated header and value. Reading flow: Initialization followed by header assignment is logical, but cryptic names, positional delegation, and missing context interrupt comprehension.