Sample
pyint-22f535fec45c-I04
Replace names with deterministic minifier-style shortest identifiers
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0 | 0–1; higher is more readable |
| Dorn | 0.818 | 0–1; higher is more readable |
| Mi | 0.69 | 0–1; higher is more readable |
| LLOC | 20 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 5.33 | 0–20; mean of three runs |
| GPT-6.1 Sol | 13.33 | 0–20; mean of three runs |
| BTTF | 0.144 | 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. | 710.987 | −23.463 |
| Source linesThe number of non-empty source lines. | 24 | +9.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.649 | −6.973 |
Intercept 8.87 + feature contributions = -11.966 (log-odds).
Score = sigmoid(-11.966) = 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. | 37.92 | +2.059 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 0 | −0.804 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 25 | +0.151 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.082 | +0.147 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 24 | −0.13 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 24 | +0.093 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 23.615 | −0.08 |
Intercept 0.07 + feature contributions = 1.506 (log-odds).
Score = sigmoid(1.506) = 0.818.
| Score | 0.69 |
|---|
| Score | 20 |
|---|
Run 1
The code exhibits several readability issues. The class and method names (a, b, c) are single letters, making intent unclear. The import section is verbose with multiple separate imports from the same modules rather than combining them. The use of single-letter variable names (d, e, f) obscures what data types are being handled. The method bodies are concise, and nesting is minimal, which are positives, but the overall structure lacks clarity. The JSONTag base class is undefined in this snippet, leaving context ambiguous. The code appears to be a datetime serialization tag but the naming prevents understanding without additional documentation or reverse engineering. Type hints are present, which helps somewhat, but the fundamental naming choices undermine readability for anyone unfamiliar with the codebase.
Run 2
The code suffers from severe readability issues. The class name 'TagDateTime' and key ' d' are acceptable, but the method names 'a', 'b', 'c' are meaningless and fail to convey intent, violating clarity. The single-letter parameter names ('d', 'e', 'f') further obscure purpose. The structure is technically organized but the serialization/deserialization logic is unclear due to ambiguous naming. Nesting is flat, which is positive, but action granularity is adequate. The reading flow is disorienting because nothing explains what 'a', 'b', 'c' do — one must infer from return types. The code is concise but unnecessarily terse. Overall, it reads like obfuscated code despite simple operations, making it hard to maintain or review without external documentation or guessing based on the imported functions.
Run 3
The code suffers from poor readability due to obfuscated naming (methods named 'a', 'b', 'c'), ambiguous class purpose, inconsistent type variable names ('d', 'e', 'f'), and missing docstrings. The method names give no indication of their functionality, forcing readers to infer behavior from return types or implementation. The class inherits from an undefined JSONTag, and the method 'a' appears to be a type check while 'b' and 'c' handle serialization/deserialization—but this is not explicit. The structure is flat, which is good, and line length is reasonable, but clarity of intent and action granularity suffer significantly. The mix of imports (some grouped, some individual) adds minor inconsistency. Overall, the code is functional but requires significant mental effort to decipher due to cryptic naming and lack of context.
Run 1
Code Structure: Imports and a compact class are logically organized, though several imports are unused and JSONTag is not defined or imported in the snippet. Nesting: Very shallow, with simple methods and no nested control flow. Clarity of intent: TagDateTime and the datetime-related calls suggest serialization and deserialization, but method names a, b, c and parameter names d, e, f obscure their roles. The key value is unexplained, and broad Any annotations provide little guidance. Code length: Methods are concise, but unused imports add clutter. Action granularity: Each statement performs a single action. Reading flow: The class is easy to scan, but cryptic naming and missing context prevent readers from immediately understanding its interface.
Run 2
Code Structure: The imports and compact class are logically organized, though several imports are unused in this snippet and JSONTag is not defined or imported. Nesting: Minimal nesting makes the code easy to scan. Clarity of intent: TagDateTime and the datetime-related calls suggest datetime serialization, but method names a, b, c and parameter names d, e, f obscure their specific roles. The key " d" is unexplained, and broad Any annotations provide little guidance. Code length: The implementation is concise without unnecessary logic. Action granularity: Each statement performs a single action. Reading flow: The sequence of type checking, serialization, and parsing is natural, but cryptic naming and unexplained tagging conventions interrupt understanding.
Run 3
Code Structure: The class is logically organized with three small methods, but numerous unused imports clutter the snippet, and JSONTag is not defined or imported here. Nesting: There is no nested control flow, making each method easy to follow. Clarity of intent: TagDateTime and the datetime-related calls suggest type checking and date serialization, but method names a, b, c and parameter names d, e, f obscure their roles. The key value is unexplained, and broad Any annotations provide little guidance. Code length: The implementation is concise, though the imports are disproportionate to the functionality shown. Action granularity: Each statement performs one clear action. Reading flow: The methods follow a plausible check/encode/decode sequence, but cryptic naming and missing context interrupt comprehension.