Sample
int-bdf0c921af2e-I11
Split eligible integer literals into pairs of short-named intermediate variables
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0 | 0–1; higher is more readable |
| Scalabrino | 0.65 | 0–1; higher is more readable |
| Dorn | 0.655 | 0–1; higher is more readable |
| Mi | 0.09 | 0–1; higher is more readable |
| LLOC | 18 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 17.67 | 0–20; mean of three runs |
| GPT-6.1 Sol | 18 | 0–20; mean of three runs |
| BTTF | 0.568 | 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. | 2411.137 | −79.568 |
| 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.926 | −7.389 |
Intercept 8.87 + feature contributions = -49.686 (log-odds).
Score = sigmoid(-49.686) = 0.
| Score | 0.65 |
|---|
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. | 119.972 | −1.416 |
| 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. | 111.736 | +0.998 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 70.876 | +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.06 | +0.358 |
Intercept 0.07 + feature contributions = 0.641 (log-odds).
Score = sigmoid(0.641) = 0.655.
| Score | 0.09 |
|---|
| Score | 18 |
|---|
Run 1
The code is highly readable and well-structured. It maintains a flat structure with minimal nesting (a simple if-else and a null check), making control flow easy to follow. Intent is clear: DefaultJwtRetriever acts as a delegating facade that selects an implementation based on the token endpoint URL protocol. Variable names are descriptive (e.g., delegate, tokenEndpointUrl), and logging improves observability. The configure method is concise, delegating URL validation and configuration to ConfigurationUtils. Each line performs one logical action, improving readability. The class is compact and avoids unnecessary verbosity. The helper method delegate() provides testability without clutter. Minor improvements could include adding braces to the single-line if/else statements to fully prevent possible ambiguity, but overall the code is exemplary.
Run 2
The code is well-structured and readable. Imports are organized, the class has a clear purpose, and the Javadoc provides helpful context. The configure() method is concise and the conditional logic for choosing the delegate is flat (one if/else) and easy to follow. Each line typically performs one action, and variable names are descriptive. The retrieve() method clearly guards against misuse. Minor deductions: the if/else could use braces for consistency, and the line creating ClientCredentialsJwtRetriever relies on knowledge that it internally handles client assertion vs secret formatting, which may be slightly non-obvious. Overall, the flow is natural and the code requires little effort to understand.
Run 3
The code is well-structured and readable. It uses a clear delegation pattern, with a single purpose per method and minimal nesting (only one level in configure and retrieve). The class names and method names clearly express intent. The javadoc explains the configuration-based selection logic. The code is concise, with each line performing a distinct action, and the reading flow follows a natural order: validate config, select delegate, configure delegate. Minor areas for improvement include the lack of braces on the one-line if/else in configure (which can reduce readability and introduce risk during maintenance) and the use of an abbreviation 'cu' for ConfigurationUtils, which slightly reduces immediate clarity. Overall, this is highly readable and maintainable code.
Run 1
Code Structure: Clearly organized around configuration, retrieval, cleanup, and delegate access, with focused methods. Nesting: Minimal nesting; simple conditionals and a guard clause keep execution easy to follow. Clarity of intent: Descriptive class and method names explain the delegation pattern, although the abbreviated variable 'cu' and documentation naming request formatters rather than the actual HTTP retriever slightly weaken clarity. Code length: The implementation is concise without unnecessary logic; the documentation is somewhat verbose. Action granularity: Each statement performs a distinct action, with no compressed multi-statement lines. Reading flow: Methods follow a natural lifecycle from configure to retrieve to close. Missing braces around conditionals and tightly packed imports slightly reduce visual consistency.
Run 2
1. Code Structure: Well-organized class with configuration, retrieval, cleanup, and delegate access separated into focused methods. 2. Nesting: Minimal nesting; a simple conditional selects the implementation, and a guard checks initialization. 3. Clarity of intent: Descriptive class and method names make delegation clear. However, the abbreviated variable 'cu' is less expressive, and the documentation names request formatters rather than the actual HTTP delegate, which may confuse readers. 4. Code length: Implementation is concise without unnecessary abstraction; the documentation is somewhat verbose. 5. Action granularity: Each statement performs a distinct action, with no crowded multi-statement lines. 6. Reading flow: Configuration followed by retrieval and cleanup provides a natural lifecycle progression. Ungrouped imports and omitted conditional braces slightly reduce visual readability.
Run 3
Code Structure: The class cleanly separates configuration, retrieval, cleanup, and delegate access. Nesting: Minimal nesting and straightforward conditionals make execution easy to follow, though omitted braces slightly reduce robustness when editing. Clarity of intent: Descriptive class and method names clearly express the delegation pattern, and the exception explains the configuration prerequisite. However, the abbreviated variable 'cu' and documentation referring to request formatters rather than the actual HTTP retriever weaken precision. Code length: The implementation is concise, with little redundancy; the documentation is comparatively verbose. Action granularity: Each statement performs a distinct action, with no crowded multi-statement lines. Reading flow: Methods follow a natural lifecycle order, and delegation is consistent. Import grouping and spacing could be improved for easier scanning.