Sample

int-15aafc7798c3-I04

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

Matched original source

Lines22

Scores

MethodScoreScale
Posnett0.9990–1; higher is more readable
Scalabrino0.6660–1; higher is more readable
Dorn0.2340–1; higher is more readable
Mi0.0120–1; higher is more readable
LLOC1Logical lines; fewer is more readable
DeepSeek V4 Pro120–20; mean of three runs
GPT-6.1 Sol14.330–20; mean of three runs
BTTF0.5530–1; higher is more readable

Views

Source code

package org.springframework.web.socket.sockjs.frame; /** * Applies a transport-specific format to the content of a SockJS frame resulting * in a content that can be written out. Primarily for use in HTTP server-side * transports that push data. * * <p>Formatting may vary from simply appending a new line character for XHR * polling and streaming transports, to a jsonp-style callback function, * surrounding script tags, and more. * * <p>For the various SockJS frame formats in use, see implementations of * {@link org.springframework.web.socket.sockjs.transport.handler.AbstractHttpSendingTransportHandler#getFrameFormat(org.springframework.http.server.ServerHttpRequest) AbstractHttpSendingTransportHandler.getFrameFormat} * * @author Rossen Stoyanchev * @since 4.0 */ public interface SockJsFrameFormat { String a(SockJsFrame a); }

Loading feature diagnosis…

Source regions

Feature contributions

Feature contributions

FeatureValueContribution
(log-odds)
Source linesThe number of non-empty source lines.22+8.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.752−7.128
Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones.106.198−3.505

Intercept 8.87 + feature contributions = 7.038 (log-odds).
Score = sigmoid(7.038) = 0.999.

Score0.666

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.220−5.653
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.220+2.745
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.1+1.001
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.013+0.816
Indentation frequencyHow rapidly indentation changes from line to line.8−0.46
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.1+0.398
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.21.914−0.104

Intercept 0.07 + feature contributions = -1.187 (log-odds).
Score = sigmoid(-1.187) = 0.234.

Score0.012
Score1
Run 1

The code has a clear purpose and well-written documentation explaining the interface's role. However, readability is severely undermined by poor naming: the method 'a' and parameter 'a' convey no meaning about their purpose, making the code ambiguous and unusable without external documentation. The structure is logical (a simple interface), nesting is irrelevant, and length is concise, but clarity of intent and reading flow suffer due to the cryptic names. Action granularity is fine. Overall, the documentation helps but cannot compensate for the uninformative identifiers.

Run 2

The code is a single-method interface with misleading naming. The method 'a' and parameter 'a' provide no indication of intent, violating clarity of intent and reading flow. The Javadoc is well-written and explains the interface's purpose, but the actual code does not reflect the documented behavior due to obfuscated naming. Structure is minimal but logical, nesting is non-existent, length is concise. However, the action granularity and code structure are undermined by the cryptic method signature, which makes the interface difficult to understand without relying entirely on the comments.

Run 3

The code is well-structured and readable overall. It has a clear Javadoc that explains the interface's purpose and provides helpful context, making intent easy to understand. The interface is minimal with a single method, keeping code length concise and nesting flat (no nesting at all). However, the parameter and method names ('a', 'a') are extremely poor and obscure the meaning, significantly hurting readability. The action granularity is fine since the interface declares only one method. Reading flow is natural in the documentation, but the actual code forces a reader to guess the purpose of the method and its argument. Renaming 'a' and 'a' to something like 'format(SockJsFrame frame)' would dramatically improve clarity.

Run 1

Code Structure: The package declaration, interface documentation, and single method are logically organized. Nesting: No nested logic makes the code easy to scan. Clarity of intent: The interface name and Javadoc clearly explain transport-specific frame formatting, but the method and parameter names, both 'a', obscure the operation and input. Code length: The implementation is minimal; the documentation is useful, though its long link is cumbersome. Action granularity: The single method declaration occupies its own line. Reading flow: Conventional Java layout supports natural reading, but the opaque method signature breaks the connection between the documented purpose and the API.

Run 2

Code Structure: The package, interface documentation, and single method are logically organized. Nesting: There is no nested logic, making the declaration easy to scan. Clarity of intent: The interface name and Javadoc clearly explain transport-specific frame formatting, but the method name 'a' and parameter name 'a' obscure the operation and input. Code length: The implementation is minimal; the documentation is useful, though the long fully qualified link adds visual clutter. Action granularity: The single method declaration occupies its own line, with no combined actions. Reading flow: The code follows a conventional Java layout, but the transition from descriptive documentation to an ambiguously named method weakens readability.

Run 3

Code Structure: A single-purpose interface is logically organized. Nesting: There is no nesting, making the declaration easy to scan. Clarity of intent: The interface name and Javadoc explain transport-specific frame formatting, but the method and parameter names, both 'a', obscure the operation and its input. Code length: The implementation is minimal; the documentation is useful but relatively lengthy, with an unwieldy link. Action granularity: The sole method declaration occupies one line without combining unrelated actions. Reading flow: Conventional package, documentation, and interface ordering provides a natural flow, though the ambiguous method signature weakens the connection between the documented purpose and the API.