Sample
int-066304a45a50-SRC
Unmodified source class
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 | 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 generally well-structured, with clear class-level documentation explaining the delegation logic. Imports follow proper formatting. The class has a straightforward delegation pattern, with methods that are concise and focused. Nesting is minimal, and the action granularity is one action per line, which improves readability. However, there are a few areas where clarity could be improved: the conditional statement in `configure()` shows slightly inconsistent indentation, and the logic for deciding between `FileJwtRetriever` and `ClientCredentialsJwtRetriever` could be extracted into a helper method for better readability and maintainability. Additionally, the method `delegate()` at the bottom lacks an access modifier, which may be intentional for package-private access but is not immediately obvious. Overall, the code is readable and well-organized.
Run 3
The code is well-structured with a clear delegation pattern. It uses a flat, simple structure with minimal nesting (one if-else, one null check). Intent is clear from the class name, method names, and the descriptive Javadoc. Lines are reasonably concise, though some method signatures could be more compact. Each action is generally one line, and the reading flow is natural: configure, retrieve, close, accessor. Minor deductions: the if-else branch lacks braces, which some style guides discourage, and the Javadoc is somewhat lengthy relative to the simple logic. Overall, highly readable.
Run 1
Code Structure: Well-organized delegation class with distinct configuration, retrieval, cleanup, and accessor methods. Nesting: Minimal; simple conditional selection and a guard clause keep execution paths easy to follow. Clarity of intent: Descriptive class and method names make the delegation purpose clear, although the abbreviated variable 'cu' is less expressive and the Javadoc names request formatters rather than the actual HTTP retriever instantiated. Code length: Concise implementation with little unnecessary code; documentation is somewhat verbose relative to the logic. Action granularity: Statements generally perform one action per line, with only straightforward method chaining. Reading flow: Configuration naturally precedes retrieval and cleanup, supporting easy top-to-bottom reading. Missing braces on conditionals and tightly grouped imports slightly reduce visual clarity.
Run 2
Code Structure: The class is logically organized around configuration, retrieval, cleanup, and delegate access, with implementation details delegated appropriately. Nesting: Flat control flow and simple conditionals make execution easy to follow. Clarity of intent: Descriptive class and method names clearly communicate the delegation pattern; however, the abbreviated variable 'cu' is less informative, and the Javadoc references request formatters rather than the actual HTTP retriever instantiated. Code length: The implementation is concise, though the documentation is somewhat verbose for the simple selection logic. Action granularity: Statements generally perform one action per line, with no compressed multi-statement lines. Reading flow: Methods follow a natural lifecycle order, and the null guard makes the configuration requirement explicit. Missing braces around conditionals and tightly grouped imports slightly reduce visual clarity.
Run 3
Code Structure: Clearly organized into configuration, retrieval, cleanup, and delegate access methods. Nesting: Minimal, with a simple conditional and an early guard. Clarity of intent: Descriptive class and method names make delegation clear; however, the abbreviated variable 'cu' and documentation describing request formatters rather than the actual HTTP retriever slightly reduce clarity. Code length: Compact implementation, though the single-item documentation list is unnecessarily verbose. Action granularity: Statements generally perform one action per line, with no compressed multi-statement code. Reading flow: Natural progression from initialization to use and cleanup; omitted conditional braces and tightly grouped imports modestly weaken visual consistency.