Sample

int-07d815b1f713-I04

Replace method, parameter, and local names with deterministic ProGuard-style short identifiers

Matched original source

Lines27

Scores

MethodScoreScale
Posnett0.3060–1; higher is more readable
Scalabrino0.9830–1; higher is more readable
Dorn0.7240–1; higher is more readable
Mi0.8050–1; higher is more readable
LLOC6Logical lines; fewer is more readable
DeepSeek V4 Pro80–20; mean of three runs
GPT-6.1 Sol15.670–20; mean of three runs
BTTF0.7780–1; higher is more readable

Views

Source code

package org.apache.kafka.clients.admin; import org.apache.kafka.common.annotation.InterfaceAudience; import java.util.Collection; /** * Options for {@link Admin#alterClientQuotas(Collection, AlterClientQuotasOptions)}. */ @InterfaceAudience.Public public class AlterClientQuotasOptions extends AbstractOptions<AlterClientQuotasOptions> { private boolean validateOnly = false; /** * Returns whether the request should be validated without altering the configs. */ public boolean a() { return this.validateOnly; } /** * Sets whether the request should be validated without altering the configs. */ public AlterClientQuotasOptions a(boolean a) { this.validateOnly = a; return this; } }

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.410.343−13.541
Source linesThe number of non-empty source lines.27+10.8
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.631−6.946

Intercept 8.87 + feature contributions = -0.817 (log-odds).
Score = sigmoid(-0.817) = 0.306.

Score0.983

Feature contributions

FeatureValueContribution
(log-odds)
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.049+0.469
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.58.071+0.133
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.89−0.104
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.28+0.045
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.26.744−0.036
Indentation frequencyHow rapidly indentation changes from line to line.21−0.011

Intercept 0.07 + feature contributions = 0.963 (log-odds).
Score = sigmoid(0.963) = 0.724.

Score0.805
Score6
Run 1

The code has some redeeming structural qualities: it follows a clear, flat organization, includes Javadocs, and demonstrates concise methods with one action per line. However, readability is severely undermined by poor naming. The method names 'a()' and parameter 'a' obscure the intent completely, despite the Javadocs explaining the 'validateOnly' flag. The field is well-named, but the public API fails to reflect purpose, forcing users to rely on documentation rather than self-documenting code. The logic is trivial, little nesting, and no unnecessary length, but the lack of clear intent in naming destroys clarity. If the methods were named 'validateOnly()' and 'validateOnly(boolean)', this would be highly readable.

Run 2

The code has a clear, logical class structure with proper package, imports, and Javadoc comments explaining purpose. It inherits from a base options class and follows a fluent builder pattern. However, the method names 'a()' and 'a(boolean a)' are ambiguous and severely reduce clarity of intent — they do not convey that they relate to the 'validateOnly' flag. While the code is flat, concise, and has one action per line, the cryptic naming forces readers to rely on documentation rather than the code itself. The reading flow is generally natural, but the parameter name 'a' and method name 'a' break readability. If renamed to 'validateOnly()' and 'validateOnly(boolean validateOnly)', the score would be significantly higher.

Run 3

The code has a clear class structure and simple, flat logic, but it is severely undermined by meaningless naming. The method names 'a' and parameter 'a' completely obscure the intent, making the code confusing and unreadable despite its otherwise minimal length. The Javadoc describes the behavior, but the identifiers fail to communicate purpose. The code length is concise, and actions are granular, but the reading flow is disrupted by having to cross-reference documentation just to understand what 'a' does. This is a classic case of structurally sound but semantically unreadable code.

Run 1

Code Structure: A logically organized options class with a field, getter, and fluent setter. Nesting: Minimal, with no nested control flow. Clarity of intent: The class name, validateOnly field, and documentation explain the purpose, but naming both methods and the setter parameter 'a' obscures the API's meaning. Documentation also refers to configs rather than quotas, slightly weakening precision. Code length: Short and focused, with no unnecessary complexity. Action granularity: Each statement performs one action on its own line. Reading flow: Natural field-to-getter-to-setter progression, though descriptive method names and spacing around imports would improve readability.

Run 2

Code Structure: The class is logically organized, with a field followed by its getter and fluent setter. Nesting: Methods are flat and contain no branching. Clarity of intent: The class name, validateOnly field, and documentation explain the purpose, but naming both methods 'a' and the parameter 'a' obscures their meaning. Code length: The implementation is concise without unnecessary logic. Action granularity: Each statement performs a single action on its own line. Reading flow: The field-to-getter-to-setter sequence is natural, although descriptive method and parameter names would make the code easier to read and use.

Run 3

Code Structure: The class is logically organized, with one field followed by a getter and fluent setter. Nesting: Methods are flat and easy to scan. Clarity of intent: The class name, validateOnly field, and documentation explain the purpose, but naming both methods and the setter parameter 'a' obscures their meaning and makes usage harder to understand. Code length: The implementation is concise without unnecessary logic. Action granularity: Each statement performs one action, and assignment and return are separated. Reading flow: The field-to-getter-to-setter sequence is natural, although missing spacing between the package and imports slightly reduces visual organization. Descriptive method and parameter names would substantially improve readability.