Sample

int-50920301d41b-SRC

Unmodified source class

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 highly readable. It is a well-structured interface with clear Javadoc that explains the purpose and usage of the method. The structure is logical, with the interface declaration, method signature, and annotations neatly organized. Nesting is non-existent, keeping the code flat and easy to follow. Clarity of intent is excellent—the method name and parameters clearly indicate its role in configuring a WebTestClient. Code length is concise, containing only the necessary method and documentation. Action granularity is appropriate for an interface (a single method declaration). Reading flow is natural, moving from package declaration to imports, interface, and method with explanatory comments. Minor deductions are due to the long parameter list, which slightly challenges readability, and the method name 'afterConfigurerAdded' could be marginally clearer without context.

Run 2

This code is a well-structured interface with clear intent. It has minimal nesting, appropriate JavaDoc documentation, and a single method with a logical parameter list. The action granularity is clean—each parameter is on its own line, improving readability. The class follows standard Spring conventions and is concise without unnecessary complexity. The only slight deductions are for the long JavaDoc, which, while informative, adds some verbosity.

Run 3

This interface is highly readable. The structure is logical: package, imports, Javadoc, then a single method with clear parameters. Nesting is nonexistent—flat and straightforward. The intent is explicit through the interface name, method name, and detailed Javadoc explaining each parameter's role. Code length is appropriate for a contract definition; no unnecessary verbosity. Each parameter is on its own line with annotations, supporting one action per line. The reading flow is natural, from class-level doc to method-level doc to the method signature. Minor deductions: the Javadoc could be slightly more concise, and the annotation placement is standard but could be aligned for visual consistency.

Run 1

Code Structure: A single, logically organized interface with imports, contract documentation, and one method. Nesting: Minimal, with no nested control flow. Clarity of intent: Descriptive names and detailed Javadoc clearly explain the customization hook, parameter roles, and server-specific usage; nullable annotations make optional inputs explicit. Code length: Concise, with documentation proportionate to the API's purpose. Action granularity: One method declaration, neatly split across lines, with no combined actions. Reading flow: Natural progression from interface purpose to method details and signature. A blank line between the package declaration and imports would slightly improve visual separation.

Run 2

Code Structure: A well-organized interface with imports, interface documentation, and one documented method. Nesting: Minimal nesting and no control flow make it easy to scan. Clarity of intent: Descriptive types, parameter names, nullability annotations, and Javadoc clearly explain the customization contract, though the callback timing is not explicitly documented. Code length: Concise, with documentation proportional to the API's purpose. Action granularity: A single method declaration is cleanly split across lines, with no combined actions. Reading flow: Natural progression from the interface's purpose to usage guidance and parameters; a blank line between the package declaration and imports would slightly improve visual separation.

Run 3

Code Structure: A logically organized interface with imports, contract documentation, and one method. Nesting: Minimal nesting, limited to the interface body. Clarity of intent: Descriptive names and detailed Javadoc clearly explain customization responsibilities; nullable annotations clarify optional parameters. Code length: Concise, with documentation proportionate to the API's purpose. Action granularity: The single method declaration is cleanly split across lines, with no combined actions. Reading flow: Natural progression from package and imports to interface documentation and method signature. Minor formatting improvements, such as a blank line after the package declaration, would improve visual separation.