Sample
pyint-ba0a5261f42e-I04
Replace names with deterministic minifier-style shortest identifiers
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0 | 0–1; higher is more readable |
| Dorn | 0.559 | 0–1; higher is more readable |
| Mi | 0.611 | 0–1; higher is more readable |
| LLOC | 17 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 8.33 | 0–20; mean of three runs |
| GPT-6.1 Sol | 11.33 | 0–20; mean of three runs |
| BTTF | 0.557 | 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. | 1004.431 | −33.146 |
| Source linesThe number of non-empty source lines. | 35 | +14 |
| 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.736 | −7.104 |
Intercept 8.87 + feature contributions = -17.38 (log-odds).
Score = sigmoid(-17.38) = 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. | 63.972 | +0.956 |
| 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. | 35 | +0.473 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 35 | −0.382 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 36 | −0.238 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.088 | +0.086 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 34.815 | +0.077 |
Intercept 0.07 + feature contributions = 0.237 (log-odds).
Score = sigmoid(0.237) = 0.559.
| Score | 0.611 |
|---|
| Score | 17 |
|---|
Run 1
The code has some redeeming qualities like logical imports and a clear class structure, but readability is severely hampered by several issues. The method 'a' is completely opaque - it has meaningless parameter names (b, c), unclear local variables (d, e), and no docstring explaining its purpose. The tuple unpacking and repacking logic '(c.ops.prep_for_iexact_query(e[0]), *e[1:])' is clever but difficult to understand at a glance. The method name 'a' provides zero semantic meaning. While the nesting is minimal and action granularity is reasonable, the lack of descriptive naming and hidden complexity makes the intent ambiguous. The code assumes deep familiarity with Django internals without any explanatory context. To improve readability, the method and variables need descriptive names, and the tuple manipulation should be broken into clearer steps or commented.
Run 2
The code is partially readable due to clean imports and a simple class structure, but a major issue is the cryptic method and variable names (`a`, `b`, `c`, `d`, `e`). This makes the clarity of intent very poor, even though the logic itself is short and flat. The method `a` should be named something like `process_rhs`, and parameters should reflect their roles (e.g., `compiler`, `connection`, `rhs`). The use of tuple unpacking and the `*` operator is concise but assumes strong domain knowledge. Action granularity is acceptable, with one logical operation per line, but the reading flow suffers from the abstract names. The nesting is minimal and structure is logical, so the code is far from unreadable, but the lack of descriptive naming significantly hinders immediate understanding.
Run 3
The code is largely unreadable due to terse and semantically meaningless variable names (a, b, c, d, e), unclear structure, and obscure action granularity. The method 'a' hides its purpose entirely, and the tuple unpacking with starred expressions adds unnecessary complexity. The imports are extensive but detached from the body shown, making the intent ambiguous. Although imports are logically grouped, the code body fails to communicate what it does. There is no explanatory structure, no descriptive naming, and the logic compresses multiple operations into single lines, reducing clarity and reading flow. The snippet appears to be Python, but Django-specific internals compound confusion without context. Overall, the code impedes understanding rather than supporting it.
Run 1
Code Structure: Imports and a single lookup class are logically organized, but many unused imports add clutter. Nesting: The method is nearly flat, with only one simple conditional. Clarity of intent: IExact, lookup_name, and prepare_rhs communicate the class's role, but a, b, c, d, and e obscure the method's purpose and data flow. The undefined BuiltinLookup also leaves essential context missing. Code length: The implementation is concise, although the import section is disproportionately long for this snippet. Action granularity: Statements generally perform one clear operation per line; unpacking and tuple reconstruction are compact but reasonable. Reading flow: Execution proceeds naturally from superclass processing to conditional parameter preparation and return, but cryptic identifiers and missing context interrupt comprehension.
Run 2
Code Structure: The lookup class and method are logically organized, but numerous unused imports add clutter, and BuiltinLookup is not defined or imported in the snippet. Nesting: A single conditional keeps nesting shallow. Clarity of intent: IExact, lookup_name, and prep_for_iexact_query suggest case-insensitive matching, but names a, b, c, d, and e obscure the method's role and its inputs and outputs. Code length: The implementation is concise, though the import section is disproportionately long. Action granularity: Each statement performs one main operation; tuple unpacking and reconstruction are compact but reasonable. Reading flow: The method follows a natural process-transform-return sequence, but cryptic identifiers and distracting imports interrupt comprehension.
Run 3
1. Code Structure: The lookup class and method are logically organized, but numerous unused imports clutter the snippet, and BuiltinLookup is not defined or imported here. 2. Nesting: A single conditional keeps nesting shallow and easy to follow. 3. Clarity of intent: The decorator, class name, and lookup_name suggest a case-insensitive exact lookup, but names a, b, c, d, and e obscure the method's purpose and data roles. 4. Code length: The implementation is concise, although the import section is disproportionately long for the shown functionality. 5. Action granularity: Each statement performs a coherent operation; the tuple reconstruction is compact but requires some interpretation. 6. Reading flow: Processing, conditional preparation, and returning results form a natural sequence, but opaque naming and import clutter interrupt comprehension.