Sample
int-6e915e38acd8-I02
Shorten method, parameter, and local names without collisions
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0 | 0–1; higher is more readable |
| Scalabrino | 0.721 | 0–1; higher is more readable |
| Dorn | 0.812 | 0–1; higher is more readable |
| Mi | 0.225 | 0–1; higher is more readable |
| LLOC | 5 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 10 | 0–20; mean of three runs |
| GPT-6.1 Sol | 13 | 0–20; mean of three runs |
| BTTF | 0.649 | 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. | 1443.729 | −47.643 |
| Source linesThe number of non-empty source lines. | 38 | +15.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.479 | −6.719 |
Intercept 8.87 + feature contributions = -30.292 (log-odds).
Score = sigmoid(-30.292) = 0.
| Score | 0.721 |
|---|
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 88 | +0.615 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 37 | +0.543 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 1 | +0.398 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 39 | −0.345 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 37.921 | +0.12 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.085 | +0.12 |
| 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. | 87.974 | −0.061 |
Intercept 0.07 + feature contributions = 1.46 (log-odds).
Score = sigmoid(1.46) = 0.812.
| Score | 0.225 |
|---|
| Score | 5 |
|---|
Run 1
The code has a logical structure with a package declaration, imports, class definition, constructor, and method overrides. However, readability is significantly reduced by abbreviated parameter names ('cha', 'name', 'query', 'max', 'que', 'add', 'pro', 'query2') that obscure intent. The constructor has many parameters, making it long and difficult to follow. While nesting is minimal and action granularity is acceptable, the reading flow is disrupted by unclear naming. The 'new2' and 'pro' method names are ambiguous. The code is concise but sacrifices clarity through abbreviations. Overall, it is functional but not highly readable due to poor naming choices.
Run 2
The code is minimally structured but heavily compromised by cryptic naming and formatting. Parameters like 'cha', 'que', 'add', and 'pro' obscure intent, and the constructor line length is excessive, hurting readability. The super() call spans multiple lines with a comment interrupting the parameter list, which breaks reading flow. Nesting is flat, which is positive, and method lengths are short. The use of a boolean literal 'false' in the constructor adds opacity. While the logic is simple, the abbreviated names and crammed parameter passing significantly reduce clarity. This likely results from decompiled or obfuscated code, not from deliberate design for human readers.
Run 3
The code is a short class but suffers from poor readability. The constructor has 10 parameters with cryptic names like 'cha', 'name', 'query', 'query2', 'que', 'add', and 'pro', making intent unclear. The parameter 'name' is an InetSocketAddress, which is misleading. The method names 'new2' and 'pro' are ambiguous and provide no context. The code is flat and has one action per line, but the parameter list is long and the super() call is split awkwardly with a comment that disrupts flow. The class is concise but at the cost of clarity. Overall, the code is functional but not self-documenting, requiring external context to understand.
Run 1
Code Structure: The class is logically organized into a constructor and two small overrides, though unused imports add clutter. Nesting: There is no deep nesting, making control flow easy to follow. Clarity of intent: The class name and TCP retry comment communicate its role, but abbreviated or arbitrary names such as cha, query2, que, pro, and new2 obscure parameter meanings and method purposes. Code length: The implementation is concise, although the long constructor signature and positional superclass arguments require careful mapping. Action granularity: Each statement performs one clear action; multiple parameters per line slightly reduce scanability. Reading flow: Constructor-first organization and simple overrides provide a natural flow, but poor naming, densely grouped imports, and the lengthy superclass call interrupt understanding.
Run 2
Code Structure: The small class is logically organized into a constructor and two overrides, although unused imports add clutter. Nesting: There is no nested control flow, making the code easy to scan. Clarity of intent: The class name, TCP return value, and retry comment convey its purpose, but names such as new2, pro, query2, que, and add obscure method and parameter meanings. The long positional superclass call also requires external context to understand. Code length: The implementation is concise, with little unnecessary code beyond unused imports. Action granularity: Each statement performs one action; wrapping the constructor signature and superclass call is appropriate. Reading flow: The constructor-to-overrides sequence is natural, but inconsistent parameter naming and dense argument lists interrupt comprehension.
Run 3
Code Structure: A small, logically organized class separates construction from two overridden methods, though unused imports add clutter. Nesting: No nested control flow, making the code easy to scan. Clarity of intent: The class name, superclass, TCP return value, and retry comment convey its role, but abbreviated or arbitrary names such as cha, query2, que, pro, and new2 obscure parameter and method meanings. Code length: Concise overall, although the long constructor signature and positional superclass arguments require effort to interpret. Action granularity: Each statement performs a single action; grouping multiple parameters on some lines slightly reduces scanability. Reading flow: Constructor-first ordering followed by overrides is natural, but inconsistent parameter wrapping and weak naming interrupt comprehension.