Sample

int-9f9b171c232a-I11

Split eligible integer literals into pairs of short-named intermediate variables

Matched original source

Lines30

Scores

MethodScoreScale
Posnett00–1; higher is more readable
Scalabrino0.8840–1; higher is more readable
Dorn0.5730–1; higher is more readable
Mi0.4960–1; higher is more readable
LLOC11Logical lines; fewer is more readable
DeepSeek V4 Pro180–20; mean of three runs
GPT-6.1 Sol190–20; mean of three runs
BTTF0.6580–1; higher is more readable

Views

Source code

package org.apache.kafka.streams.internals; import org.apache.kafka.common.config.ConfigDef; import org.apache.kafka.common.config.ConfigException; import org.apache.kafka.common.utils.Utils; import org.apache.kafka.streams.state.HostInfo; public class ApplicationServerConfigValidator implements ConfigDef.Validator { @Override public void ensureValid(final String name, final Object value) { if (!(value instanceof String)) { throw new ConfigException(name + " must be a string"); } final String endPoint = (String) value; if (Utils.isBlank(endPoint)) { return; } try { HostInfo.buildFromEndpoint(endPoint); } catch (final ConfigException e) { throw new ConfigException(name, value, e.getMessage()); } } @Override public String toString() { return "A host:port pair, protocol://host:port, or an empty string"; } }

Loading feature diagnosis…

Source regions

Feature contributions

Feature contributions

FeatureValueContribution
(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.990.93−32.701
Source linesThe number of non-empty source lines.30+12
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.617−6.926

Intercept 8.87 + feature contributions = -18.756 (log-odds).
Score = sigmoid(-18.756) = 0.

Score0.884

Feature contributions

FeatureValueContribution
(log-odds)
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.0−0.804
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.1+0.398
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.78+0.361
Indentation frequencyHow rapidly indentation changes from line to line.29+0.266
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.31−0.061
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.091+0.058
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.29.924+0.008

Intercept 0.07 + feature contributions = 0.296 (log-odds).
Score = sigmoid(0.296) = 0.573.

Score0.496
Score11
Run 1

The code is highly readable. It follows a clear logical structure: type check, blank check, validation, and error wrapping. The method is flat with no deep nesting. Each action is on its own line, and the intent is straightforward. The toString method clearly documents acceptable formats. Minor improvements could include a more descriptive exception message, but overall the code is concise, well-organized, and easy to follow.

Run 2

The code is well-structured with a single clear responsibility: validating application server endpoints. It has minimal nesting (one if statement and one try-catch), making it easy to follow. The intent is immediately clear — ensure the value is a string, allow blank values, and validate non-blank endpoints. The code is concise with no unnecessary boilerplate. Each line performs one logical action, improving readability. The reading flow is natural: type check, blank check, validation, then error handling. The only minor deduction is that the error propagation in the catch block could be slightly more explicit about rethrowing a validation error, but overall this is highly readable code.

Run 3

The code is highly readable with a clear, logical structure. It uses early returns and guard clauses effectively, keeping nesting shallow. Each action is on its own line, and the intent is obvious: validate that a value is a string, allow blank values, and validate non-blank values as host endpoints. The try-catch is minimal and purposeful, wrapping only the parsing logic. Method names are descriptive, and the toString override provides helpful documentation. The only minor deductions are the slightly terse catch block and lack of a blank line between the early return and the try block, but these are negligible.

Run 1

Code Structure: A small, focused validator with logically separated validation and descriptive methods. Nesting: Shallow conditionals and an early return keep the main path flat. Clarity of intent: Descriptive class and method names make the purpose clear; endpoint parsing is delegated to HostInfo, and exceptions retain configuration context. Code length: Concise, with no unnecessary logic or duplication. Action granularity: Each statement performs one clear action on its own line. Reading flow: Type checking, blank-value handling, endpoint validation, and error reporting follow a natural sequence. Minor formatting improvements, such as separating the package declaration from imports with a blank line, would improve readability.

Run 2

Code Structure: The validator is logically organized into type checking, blank-value handling, and endpoint validation. Nesting: Guard clauses keep control flow flat, with only a straightforward try/catch. Clarity of intent: Descriptive class and method names make the purpose clear; toString documents accepted formats, though endpoint parsing details are delegated to HostInfo. Code length: The implementation is concise without unnecessary logic. Action granularity: Each statement performs one distinct action. Reading flow: Validation proceeds naturally from basic checks to parsing and error reporting. Minor formatting improvements, such as separating the package declaration from imports, would improve presentation.

Run 3

Code Structure: Logically organized into validation and descriptive methods. Nesting: Shallow conditionals and an early return keep control flow flat. Clarity of intent: Class and method names clearly communicate endpoint validation; blank values are explicitly accepted, though the rationale is not documented. Code length: Concise, with no unnecessary logic. Action granularity: Each statement performs a single action, making individual steps easy to follow. Reading flow: Naturally progresses from type checking to blank handling, endpoint validation, and error reporting. Minor formatting improvements, such as separating the package declaration from imports and adding space before the try block, would improve readability further.