Sample

int-7ba291b34ffd-SRC

Unmodified source class

Lines22

Scores

MethodScoreScale
Posnett0.9990–1; higher is more readable
Scalabrino0.6020–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 Pro18.330–20; mean of three runs
GPT-6.1 Sol190–20; mean of three runs
BTTF0.6370–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 format(SockJsFrame frame); }

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.749−7.124
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.042 (log-odds).
Score = sigmoid(7.042) = 0.999.

Score0.602

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.817
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.905−0.104

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

Score0.012
Score1
Run 1

The code is a simple interface with a single method, making it concise and easy to understand. The Javadoc provides clear context about its purpose and usage, with well-organized paragraphs. The structure is flat with no nesting, and the action granularity is ideal. The reading flow is natural, moving from explanation to examples and finally to the method declaration. It could slightly improve by clarifying the return value in the method's documentation, but overall it is highly readable for its intent.

Run 2

This code is highly readable. The interface is concise with a single, clearly-named method that conveys its purpose. Javadoc comments effectively explain the interface's role, variability in formatting, and provide a reference to implementations. The structure is logical and flat with no nesting. Imports are minimal, and the package declaration is proper. Overall, the code follows best practices for clarity and maintainability.

Run 3

The code is exceptionally readable. It has a clear, single-purpose interface. The Javadoc is concise yet informative, explaining the purpose, typical variations, and where implementations can be found. The structure is minimal and logical, with no unnecessary methods or complexity. There is no nesting or control flow to obscure intent. The method signature is self-documenting. Overall, the code is well-organized, unambiguous, and easy for any developer to understand at a glance.

Run 1

Code Structure: A clean, single-purpose interface with one method. Nesting: No nested logic, making it immediately scannable. Clarity of intent: Descriptive interface and parameter names, supported by documentation explaining transport-specific formatting; method-level documentation would clarify the return value and input expectations. Code length: Minimal implementation, though the lengthy Javadoc link slightly reduces readability. Action granularity: One method declaration on its own line, with no combined actions. Reading flow: Natural progression from package declaration to explanatory documentation and interface signature.

Run 2

Code Structure: A clearly organized interface containing one method. Nesting: No nested control flow or unnecessary structural complexity. Clarity of intent: The interface name, method signature, and Javadoc clearly explain transport-specific SockJS frame formatting, although the method lacks explicit parameter and return documentation. Code length: The implementation is minimal; the documentation is useful but includes a lengthy cross-reference. Action granularity: The single method declaration occupies its own line, with no combined actions. Reading flow: Package declaration, explanatory documentation, and interface declaration follow a natural Java layout. Minor documentation wording and the long link slightly reduce readability.

Run 3

Code Structure: A logically organized interface defines a single responsibility. Nesting: No nested logic, making the code easy to scan. Clarity of intent: The interface name, method signature, and Javadoc clearly describe transport-specific SockJS frame formatting, though the method lacks explicit parameter and return documentation. Code length: The implementation is minimal; the Javadoc is useful but includes a lengthy cross-reference. Action granularity: The sole method declaration occupies its own line. Reading flow: The package, documentation, interface, and method follow a natural Java layout; the long Javadoc link slightly disrupts scanning.