Sample

int-a889992c716b-I08

Select one of ten high-readability unrelated code templates per class

Matched original source

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.670–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 well-documented, single-purpose interface. It has a clear logical structure, with a concise Javadoc explaining intent, context, and usage. There is no nesting, and the single method declaration makes the action granularity and reading flow straightforward. The code length is minimal and appropriate for an interface definition. The only minor deduction is that the Javadoc could be slightly shorter, but it remains highly readable overall.

Run 2

The code is highly readable: the interface has a single, well-named method, concise documentation that clearly explains its purpose and context, and a logical, flat structure. The Javadoc provides useful references without unnecessary verbosity. The only minor deduction is due to the very long fully qualified link in the Javadoc, which slightly disrupts the reading flow, but overall the code is clear and maintainable.

Run 3

The code is a simple, well-documented interface with a single method. The Javadoc clearly explains the purpose and provides useful references to implementations, which greatly enhances clarity. The structure is logical and clean, with no nesting or unnecessary complexity. The method name 'format' is concise and appropriate for its action. The only minor critique is that the Javadoc is somewhat lengthy for such a small interface, but the added context justifies the length. Overall, this is highly readable.

Run 1

Code Structure: A clean, focused interface with one method and appropriate package placement. Nesting: No nested control flow or unnecessary complexity. Clarity of intent: The interface name, method signature, and descriptive Javadoc clearly communicate transport-specific SockJS frame formatting, though method-level documentation could clarify the return value. Code length: The implementation is minimal; documentation is useful but includes a long, visually dense link. Action granularity: Each declaration occupies its own line, with no combined actions. Reading flow: Natural progression from package declaration to documentation, interface, and method.

Run 2

Code Structure: A logically organized interface with one focused 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 its own parameter and return documentation. Code length: The implementation is minimal; the explanatory Javadoc is useful, though its long cross-reference is visually cumbersome. Action granularity: The single method declaration occupies one line, with no combined actions. Reading flow: Package declaration, documentation, and interface follow a natural Java layout.

Run 3

Code Structure: A logically organized interface with a single, focused method. Nesting: No nested control flow or unnecessary structural depth. Clarity of intent: The interface name, method signature, and Javadoc clearly explain transport-specific SockJS frame formatting, although the method lacks its own parameter and return documentation. Code length: The implementation is minimal; the explanatory documentation is useful, though the long cross-reference slightly reduces readability. Action granularity: The sole method declaration occupies one line, with no combined actions. Reading flow: Package declaration, documentation, interface, and method appear in a natural, conventional order.