Sample

int-983b7aa7fcf0-SRC

Unmodified source class

Lines33

Scores

MethodScoreScale
Posnett0.0030–1; higher is more readable
Scalabrino0.7530–1; higher is more readable
Dorn0.8320–1; higher is more readable
Mi0.5350–1; higher is more readable
LLOC8Logical lines; fewer is more readable
DeepSeek V4 Pro180–20; mean of three runs
GPT-6.1 Sol190–20; mean of three runs
BTTF0.8290–1; higher is more readable

Views

Source code

package io.netty.handler.codec.socks; import io.netty.buffer.ByteBuf; import io.netty.util.internal.ObjectUtil; /** * An socks init response. * * @see SocksInitRequest * @see SocksInitResponseDecoder */ public final class SocksInitResponse extends SocksResponse { private final SocksAuthScheme authScheme; public SocksInitResponse(SocksAuthScheme authScheme) { super(SocksResponseType.INIT); this.authScheme = ObjectUtil.checkNotNull(authScheme, "authScheme"); } /** * Returns the {@link SocksAuthScheme} of this {@link SocksInitResponse} * * @return The {@link SocksAuthScheme} of this {@link SocksInitResponse} */ public SocksAuthScheme authScheme() { return authScheme; } @Override public void encodeAsByteBuf(ByteBuf byteBuf) { byteBuf.writeByte(protocolVersion().byteValue()); byteBuf.writeByte(authScheme.byteValue()); } }

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.629.447−20.772
Source linesThe number of non-empty source lines.33+13.2
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.748−7.122

Intercept 8.87 + feature contributions = -5.824 (log-odds).
Score = sigmoid(-5.824) = 0.003.

Score0.753

Feature contributions

FeatureValueContribution
(log-odds)
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.75.971+0.447
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.73.882+0.388
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.064+0.323
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.34−0.167
Indentation frequencyHow rapidly indentation changes from line to line.24+0.093
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.32.818+0.049

Intercept 0.07 + feature contributions = 1.6 (log-odds).
Score = sigmoid(1.6) = 0.832.

Score0.535
Score8
Run 1

The code is highly readable. It has a simple, flat structure with no nesting beyond the class definition. Each method performs a single, clear action: validation and assignment, returning a field, or writing two bytes to a buffer. The intent is unambiguous, aided by descriptive names and a clear class-level Javadoc. The code is concise without being terse; getters, constructors, and encode methods follow standard Netty patterns. Reading flow is natural, moving from field declaration to constructor to accessor to encoding logic. Only minor deductions for the redundant Javadoc on the authScheme() method and the slight verbosity of the protocol write sequence, but overall the code is clean and maintainable.

Run 2

The code is highly readable with clear logical organization, minimal nesting, and concise length. Each method has a single responsibility, and the action granularity is one operation per line. The class structure is straightforward, with a clear field, constructor, getter, and overridden method. Naming is descriptive and JavaDoc comments clarify purpose. The only minor deductions are for the redundant JavaDoc on the getter and slightly verbose import of ObjectUtil, but these do not significantly impact readability.

Run 3

The code is highly readable. It has a clear, logical structure with a single class, a constructor, an accessor, and an overridden encode method. Nesting is minimal and control flow is flat. Intent is explicit through descriptive naming, Javadoc comments, and the use of ObjectUtil.checkNotNull. The code is concise without being cryptic, with one logical action per line. Reading flow is natural, moving from field declaration to constructor to getter to behavior. Minor deductions: the Javadoc could be slightly more detailed, and the class-level comment has a grammatical issue, but these do not materially affect readability.

Run 1

Code Structure: Logically organized into a field, constructor, accessor, and encoding method. Nesting: Flat, with no nested control flow. Clarity of intent: Descriptive class, method, and variable names make the response's purpose clear; explicit null validation reinforces the field's contract. Code length: Concise implementation, though the accessor documentation is slightly repetitive. Action granularity: Each statement performs one clear action, and the two encoding writes are separated. Reading flow: Natural progression from initialization to access and serialization. Minor polish issues include the grammatical error 'An socks init response' and the lack of a blank line between the package declaration and imports.

Run 2

Code Structure: The class is logically organized into a field, constructor, accessor, and encoding method. Nesting: Methods are flat, with no conditional or loop nesting. Clarity of intent: Descriptive names, explicit null validation, and straightforward serialization make the purpose clear. Code length: The implementation is concise; the accessor documentation is slightly repetitive. Action granularity: Each statement performs one clear action on its own line. Reading flow: The progression from initialization to access and encoding is natural. Minor presentation issues include missing spacing between the package and imports and the grammatical error in the class comment.

Run 3

Code Structure: The class is logically organized into a field, constructor, accessor, and encoding method. Nesting: Methods are flat, with no nested control flow. Clarity of intent: Descriptive class, field, and method names clearly convey a SOCKS initialization response and its serialization. Code length: The implementation is concise; accessor documentation is slightly repetitive. Action granularity: Each statement performs a single clear action, including separate writes for protocol version and authentication scheme. Reading flow: The progression from initialization to access and encoding is natural. Minor formatting and documentation issues, such as the missing blank line after the package declaration and the phrase 'An socks init response,' slightly reduce polish.