Sample
int-bf036676ce57-I02
Shorten method, parameter, and local names without collisions
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0 | 0–1; higher is more readable |
| Scalabrino | 0.682 | 0–1; higher is more readable |
| Dorn | 0.645 | 0–1; higher is more readable |
| Mi | 0.094 | 0–1; higher is more readable |
| LLOC | 18 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 8.33 | 0–20; mean of three runs |
| GPT-6.1 Sol | 15 | 0–20; mean of three runs |
| BTTF | 0.538 | 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. | 2422.168 | −79.932 |
| Source linesThe number of non-empty source lines. | 71 | +28.4 |
| 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.919 | −7.379 |
Intercept 8.87 + feature contributions = -50.04 (log-odds).
Score = sigmoid(-50.04) = 0.
| Score | 0.682 |
|---|
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. | 72 | −1.513 |
| 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. | 117.986 | −1.332 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 55 | +1.165 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 105 | +0.89 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 70.882 | +0.581 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 1 | +0.398 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.062 | +0.337 |
Intercept 0.07 + feature contributions = 0.596 (log-odds).
Score = sigmoid(0.596) = 0.645.
| Score | 0.094 |
|---|
| Score | 18 |
|---|
Run 1
The code has good logical organization with a clear delegation pattern, but suffers from poor method naming (con, ret, clo, del instead of configure, retrieve, close, delegate), which severely obscures intent. The structure is relatively flat with minimal nesting, and each line generally performs one action. However, the abbreviated method names break Java conventions and make the code harder to read and maintain. The Javadoc is helpful but the implementation would benefit from full, descriptive method names. Error handling is minimal but adequate. The code length is reasonable and not unnecessarily verbose, but the cryptic method names defeat the purpose of self-documenting code.
Run 2
The code has a clear class purpose, good imports, and a helpful Javadoc explaining the delegate selection logic. The configure/retrieve/close delegation pattern is straightforward, and the class maintains flat nesting with mostly one action per line. However, readability is undermined by heavily abbreviated method names (con, ret, clo, del) that deviate from the interface's semantic names (configure, retrieve, close, delegate). The else block for delegate selection could be more explicit about the ClientAssertionRequestFormatter vs ClientSecretRequestFormatter mentioned in the Javadoc. The Javadoc describes more nuanced behavior than the code implements. Variable names like 'cu' are unnecessarily shortened. Overall, the structure is sound and the flow is natural, but the abbreviations and slight mismatch between documentation and implementation reduce clarity.
Run 3
This code has serious readability problems. Method names are abbreviated to the point of ambiguity: `con`, `ret`, `clo`, and `del` obscure their purpose (`configure`, `retrieve`, `close`, `delegate` respectively). Parameter names like `con` and `sasl` are unclear. The JavaDoc is well-written but the actual implementation does not match its quality. The constructor-like `configure` method is named `con`, making it difficult to understand the lifecycle. The class-level delegation pattern is reasonably structured, but method implementations are opaque. The code is flat and concise, which helps, but every action compresses multiple concerns into single-line statements that are hard to parse. Variable naming is inconsistent (`cu`, `token`, `delegate`). The import list is long and unused imports may exist. Overall, this appears to be intentionally obfuscated or severely shortened code that violates Java naming conventions and makes the logic nearly unreadable despite the clear documentation.
Run 1
Code Structure: The class is logically organized around configuration, retrieval, cleanup, and delegate access. Nesting: Control flow is shallow and easy to follow, although omitted braces reduce visual clarity. Clarity of intent: Delegation and protocol-based selection are understandable, but abbreviated names such as con, ret, clo, del, and cu obscure purpose; method names also conflict with the configure/retrieve terminology used elsewhere. The documentation misleadingly describes request formatters as the underlying retrievers. Code length: The implementation is concise, though the documentation is disproportionately verbose. Action granularity: Statements generally perform one action per line, making operations easy to identify. Reading flow: Methods follow a natural lifecycle order, but tightly packed imports, cryptic identifiers, and documentation inconsistencies interrupt otherwise straightforward reading.
Run 2
Code Structure: Well-organized class with separate methods for initialization, retrieval, cleanup, and delegate access. Nesting: Very shallow, with simple conditionals and no nested branches. Clarity of intent: Delegation and protocol-based selection are straightforward, but abbreviated names such as con, ret, clo, del, cu, and sasl obscure meaning. Documentation references configure() and formatter implementations rather than consistently matching the displayed methods and instantiated classes. Code length: Implementation is concise; the introductory documentation is somewhat verbose relative to its simplicity. Action granularity: Statements generally perform one action per line, although URL normalization and comparison are chained. Reading flow: Methods follow a natural lifecycle order, but densely grouped imports, omitted conditional braces, and inconsistent naming reduce readability.
Run 3
Code Structure: The class is logically organized around configuring, retrieving from, and closing a delegate. Nesting: Shallow conditionals keep complexity low, though omitted braces slightly reduce scanability. Clarity of intent: Delegation and protocol-based selection are understandable, but abbreviated method names (con, ret, clo, del) and variables (cu, sasl, jaas) obscure meaning. Documentation references configure(), while the declared method is con(), and describes formatter classes rather than the actual HTTP delegate, creating confusion. Code length: The implementation is concise; the lengthy documentation is somewhat disproportionate and partially misleading. Action granularity: Statements generally perform one action per line, with no compressed multi-statement lines. Reading flow: Configuration followed by retrieval, cleanup, and delegate access is natural, but tightly packed imports and inconsistent naming weaken readability.