Sample
pyint-5e6a3b17f1eb-I03
Replace names with length-matched meaningful but unrelated identifiers
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0 | 0–1; higher is more readable |
| Dorn | 0.001 | 0–1; higher is more readable |
| Mi | 0.617 | 0–1; higher is more readable |
| LLOC | 180 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 6 | 0–20; mean of three runs |
| GPT-6.1 Sol | 9.33 | 0–20; mean of three runs |
| BTTF | 0.359 | 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. | 15803.584 | −521.518 |
| Source linesThe number of non-empty source lines. | 559 | +223.6 |
| 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.537 | −6.805 |
Intercept 8.87 + feature contributions = -295.853 (log-odds).
Score = sigmoid(-295.853) = 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. | 560 | −18.792 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 366 | +11.922 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 366 | −7.978 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 558.917 | +7.403 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 107.984 | +0.938 |
| 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. | 107.957 | −0.907 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.048 | +0.48 |
Intercept 0.07 + feature contributions = -6.863 (log-odds).
Score = sigmoid(-6.863) = 0.001.
| Score | 0.617 |
|---|
| Score | 180 |
|---|
Run 1
The code is fundamentally unreadable due to pervasive, misleading naming conventions that obscure every method's purpose. Names like 'refresh', 'validateSession', 'sort', 'copy', 'clear', 'choose', 'emit', and 'compare' replace standard HTTP verbs and core request lifecycle concepts. 'validateSession' actually prepares a request, while 'refresh' sends one. Variables like 'age' (URL), 'profile' (cookies), 'key' (PreparedRequest and later Response), 'map' (Request or prefix), 'amount' (kwargs), 'score' (hooks), and 'feature' (adapter) are semantically meaningless or reused across unrelated types. This creates a high cognitive load, forcing readers to constantly map obscure aliases to their actual intent. While the code structure is flat and actions are generally one-per-line, these positive aspects are negated by the intentional obfuscation. The docstrings are also inconsistent, describing the original logical parameters rather than the obfuscated ones actually present. The result is code that appears straightforward syntactically but is practically unreadable and unmaintainable due to its deliberately confusing semantics.
Run 2
The code attempts to follow some structure, with methods separated by docstrings and clear sections, but it fails badly on clarity of intent, naming, and parameter mapping. Variable names like 'age', 'map', 'key', 'amount', 'context', and 'feature' are used for URLs, requests, responses, and adapters, making it extremely hard to follow the actual logic. Method names like 'refresh', 'sort', 'copy', 'clear', and 'choose' obscure the HTTP verbs they represent. The long parameter list in 'refresh' is deeply confusing, with docstring parameter names not matching actual parameter names. Nesting is mostly shallow, which is good, but the action granularity is inconsistent—some lines bundle multiple operations. The code is heavily 'obfuscated' by poor naming choices, negating any benefit from concise helper methods. Overall, the code is unreadable without a mapping table.
Run 3
The code has a clear class structure and logical grouping, but readability is severely undermined by misleading naming, inconsistent terminology, and unclear intent. Methods like 'refresh', 'sync', 'parseStatus', and 'validateMessage' do not match their actual functions, making the code ambiguous. Variable names throughout are confusing and unrelated to their purpose (e.g., 'age', 'map', 'feature', 'size', 'price'), which obscures logic. The code is long and verbose with excessive comments that don't clarify the code. Nesting is moderate but mixed with poor naming creates disorganized reading flow. There are multiple actions per line in some places and inconsistent use of helper functions without definitions. Type hints are used but add little due to the renamed symbols. Overall structure is okay, but clarity of intent and reading flow are poor, requiring significant effort to understand.
Run 1
Code Structure: Methods logically separate initialization, request preparation, sending, configuration, and adapter management, though unresolved dependencies obscure context. Nesting: Mostly shallow, with manageable conditional and loop nesting. Clarity of intent: Severely weakened by misleading names such as refresh, sort, age, and primaryBalance. Docstrings describe parameter names that no longer match signatures, and keyword calls likewise conflict with renamed parameters, making behavior difficult to trust. Code length: Extensive documentation and repetitive HTTP wrappers increase scanning effort, although most executable methods are reasonably sized. Action granularity: Generally one action per line, with well-formatted multiline calls; nested cookie merging and implicit content loading require extra interpretation. Reading flow: The overall lifecycle is coherent, but arbitrary naming, mixed naming conventions, missing definitions/imports, and inconsistent interfaces repeatedly interrupt comprehension. Formatting and comments provide useful scaffolding, but cannot compensate for the substantial semantic ambiguity.
Run 2
Code Structure: Responsibilities are separated into methods, with a recognizable initialization, preparation, sending, and cleanup organization. Nesting: Mostly shallow, although environment handling and redirect processing introduce moderate nesting. Clarity of intent: Severely weakened by misleading names such as age for URL, sort for POST, and apply for closing adapters. Docstrings describe parameter names that no longer match signatures, and keyword calls also conflict with renamed parameters. Missing definitions further obscure dependencies. Code length: Extensive documentation and repetitive HTTP wrappers make the class lengthy; some documentation is useful, but mismatches reduce its value. Action granularity: Generally one operation per line, with readable multiline calls; nested cookie merging is somewhat dense. Reading flow: The request lifecycle follows a logical sequence, but arbitrary identifiers, inconsistent naming conventions, and documentation/signature discrepancies repeatedly force readers to reconstruct meaning.
Run 3
1. Code Structure: Methods separate initialization, request preparation, sending, configuration, and adapter management logically. However, missing definitions and inconsistent call signatures complicate understanding. 2. Nesting: Mostly shallow, with manageable nesting in proxy configuration and redirect handling. 3. Clarity of intent: Severely weakened by misleading names such as refresh, sort, age, and primaryBalance. Docstrings describe parameters that do not match actual signatures, forcing readers to reconstruct meanings. 4. Code length: Extensive documentation and repetitive HTTP wrapper methods make the code lengthy; some comments merely restate operations. 5. Action granularity: Generally one action per statement, with well-formatted multiline calls; nested cookie merging slightly increases cognitive load. 6. Reading flow: The overall request lifecycle is sequential and recognizable, but arbitrary naming, mixed naming conventions, unresolved symbols, and keyword mismatches repeatedly interrupt comprehension.