Sample

int-7414ec3fa3b4-I12

Inline all eligible single-use intermediate local variables

Matched original source

Lines31

Scores

MethodScoreScale
Posnett0.9160–1; higher is more readable
Scalabrino0.8910–1; higher is more readable
Dorn0.8250–1; higher is more readable
Mi0.5080–1; higher is more readable
LLOC1Logical lines; fewer is more readable
DeepSeek V4 Pro180–20; mean of three runs
GPT-6.1 Sol190–20; mean of three runs
BTTF0.7320–1; higher is more readable

Views

Source code

package org.springframework.test.web.reactive.server; import org.jspecify.annotations.Nullable; import org.springframework.http.client.reactive.ClientHttpConnector; import org.springframework.web.server.adapter.WebHttpHandlerBuilder; /** * Contract to encapsulate customizations to a {@link WebTestClient.Builder}. * Typically used by frameworks that wish to provide a shortcut for common * initialization. * * @author Rossen Stoyanchev * @since 5.0 * @see MockServerConfigurer */ public interface WebTestClientConfigurer { /** * Use methods on {@link WebTestClient.Builder} to modify test client * settings. For a mock WebFlux server, use {@link WebHttpHandlerBuilder} * to customize server configuration. For a MockMvc server, mutate the * {@link org.springframework.test.web.servlet.client.MockMvcHttpConnector} * and set it on {@link WebTestClient.Builder}. * @param builder the WebTestClient builder for test client changes * @param httpHandlerBuilder for mock WebFlux server settings * @param connector the connector in use */ void afterConfigurerAdded(WebTestClient.Builder builder, @Nullable WebHttpHandlerBuilder httpHandlerBuilder, @Nullable ClientHttpConnector connector); }

Loading feature diagnosis…

Source regions

Feature contributions

Feature contributions

FeatureValueContribution
(log-odds)
Source linesThe number of non-empty source lines.31+12.4
Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones.353.108−11.653
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.818−7.226

Intercept 8.87 + feature contributions = 2.391 (log-odds).
Score = sigmoid(2.391) = 0.916.

Score0.891

Feature contributions

FeatureValueContribution
(log-odds)
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.026+0.685
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.77+0.404
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.1+0.398
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.69.906+0.323
Indentation frequencyHow rapidly indentation changes from line to line.14−0.253
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.32−0.097
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.30.718+0.02

Intercept 0.07 + feature contributions = 1.55 (log-odds).
Score = sigmoid(1.55) = 0.825.

Score0.508
Score1
Run 1

The code is a well-structured Spring interface with clear intent. It has minimal nesting (none), appropriate length for its purpose, and each parameter is on its own line for readability. The Javadoc provides comprehensive context about how to use the interface, including references to related classes. The package structure and imports are standard and organized. The annotation @Nullable is used consistently. The method signature is clean and logically ordered. Points deducted only because the Javadoc could be slightly more concise, and there is a minor formatting inconsistency with the parameter continuation indentation. Overall, this is exemplary interface design that follows Java conventions perfectly.

Run 2

The code demonstrates excellent readability. The package and imports are clean, with appropriate nullability annotations. Javadoc comments clearly explain the interface's purpose, parameters, and usage scenarios, making intent unambiguous. The interface is concise with a single method containing three logically grouped parameters. Indentation follows standard conventions. While the method parameters span multiple lines, this aids readability rather than hindering it. The only minor deduction is that the Javadoc could be slightly more concise, but the detailed documentation serves an educational purpose for framework users. Overall, this is well-structured, properly nested, and easy to understand code.

Run 3

The code exhibits excellent readability. Structure is clear: package declaration, imports, Javadoc, and a single interface method with a logical parameter list. Nesting is minimal, with no control-flow complexity. Intent is well-documented through concise Javadoc explaining the purpose and usage context for each parameter. The code is concise, containing only necessary elements without redundancy. Action granularity is appropriate, with each parameter on its own line for clarity. Reading flow is natural, following standard Java conventions and Spring Framework documentation patterns. Minor deductions: the Javadoc references external types that may require supplementary knowledge, and the method name 'afterConfigurerAdded' slightly obscures timing semantics without reading documentation.

Run 1

Code Structure: A well-organized interface with imports, interface documentation, and a single documented method. Nesting: Minimal, with no nested control flow. Clarity of intent: Descriptive names and Javadoc clearly explain the customization contract, parameters, and supported server configurations; nullable annotations make optional inputs explicit. Code length: Concise and appropriate for a public API, with useful rather than excessive documentation. Action granularity: The single method declaration is cleanly split across lines, with no combined actions. Reading flow: Natural progression from contract overview to method details and signature. Minor formatting improvements, such as a blank line between the package declaration and imports, would improve visual separation.

Run 2

Code Structure: A single, logically organized interface with relevant imports and one method. Nesting: Minimal, with no nested control flow. Clarity of intent: Class and method documentation clearly describe customization responsibilities; descriptive parameter names and nullable annotations clarify usage. Code length: Concise, with documentation proportionate to the API's purpose. Action granularity: One declaration per statement, and the multiline method signature separates parameters cleanly. Reading flow: Natural progression from imports to interface documentation and method contract. Minor drawbacks are the missing blank line after the package declaration and a method name that conveys lifecycle timing more directly than its customization purpose.

Run 3

Code Structure: A well-organized interface with imports, contract documentation, and a single method. Nesting: Minimal, with no nested control flow. Clarity of intent: Descriptive types and Javadoc clearly explain the customization contract and parameter roles; nullable annotations make optional inputs explicit. Code length: Concise, with documentation proportionate to the API's purpose. Action granularity: A single method declaration spans clearly separated parameter lines, with no combined actions. Reading flow: Natural progression from package and imports to interface documentation and method signature. Minor readability improvements include a blank line after the package declaration and a more explicit description of when afterConfigurerAdded is invoked.