Sample
int-d714e1d5d0d1-I12
Inline all eligible single-use intermediate local variables
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0 | 0–1; higher is more readable |
| Scalabrino | 0.676 | 0–1; higher is more readable |
| Dorn | 0.873 | 0–1; higher is more readable |
| Mi | 0.822 | 0–1; higher is more readable |
| LLOC | 36 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 17.67 | 0–20; mean of three runs |
| GPT-6.1 Sol | 19 | 0–20; mean of three runs |
| BTTF | 0.74 | 0–1; higher is more readable |
Views
Loading feature diagnosis…
Source regions
Feature contributions
Feature contributions
| Feature | Value | Contribution (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. | 2903.683 | −95.822 |
| Source linesThe number of non-empty source lines. | 126 | +50.4 |
| Byte entropyHow varied the bytes in the source text are. Repeated bytes give a lower value; a more even mixture gives a higher value. | 5.023 | −7.535 |
Intercept 8.87 + feature contributions = -44.086 (log-odds).
Score = sigmoid(-44.086) = 0.
| Score | 0.676 |
|---|
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 127 | −3.46 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 119 | +3.379 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 125.805 | +1.349 |
| 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. | 116.969 | −1.289 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 116.961 | +1.083 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.056 | +0.398 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 1 | +0.398 |
Intercept 0.07 + feature contributions = 1.927 (log-odds).
Score = sigmoid(1.927) = 0.873.
| Score | 0.822 |
|---|
| Score | 36 |
|---|
Run 1
The code is highly readable due to its clear structure: it is organized into logical sections (WebSocketContainer methods and ServerContainer methods) with comments separating them. Nesting is completely flat, with no conditional blocks or deep indentation. Each method has a clear, single purpose—either returning a simple value or throwing an UnsupportedOperationException—making the intent unambiguous. The code is concise and avoids unnecessary verbosity, with one action per line for throws and returns. Reading flow is natural, following the interface method order and grouping related functionality. Import statements and class-level Javadoc are clean. The only minor deduction is the slight repetition in exception messages, which could be refactored to a helper method, but this does not significantly harm readability.
Run 2
This code is highly readable. It has a clear, logical structure with well-organized imports and grouped methods separated by comments for WebSocketContainer and ServerContainer sections. Nesting is essentially flat with no conditional logic. Intent is explicit—every unsupported operation clearly states what is mocked. The getter/setter pairs are straightforward and consistent. Action granularity is one action per line, and the reading flow is natural from configuration methods to connection methods to endpoint registration. Minor deductions: the unused import for Map is unnecessary, and some method signatures wrap awkwardly, but these are trivial. Overall, it's concise, well-documented, and easy to follow.
Run 3
The code is highly readable due to its clear structure, flat nesting, and unambiguous intent. It implements a mock class with straightforward getter/setter pairs and explicit UnsupportedOperationException messages for unimplemented methods. The organization into WebSocketContainer and ServerContainer sections with comments aids navigation. Each method performs a single action, and the consistent formatting supports a natural reading flow. Minor deductions reflect verbose repetition of exception messages and method signatures, which slightly increase length but do not harm clarity.
Run 1
Code Structure: Fields and methods are logically organized, with interface-specific sections clearly labeled. Nesting: Methods are flat and contain no nested control flow. Clarity of intent: Descriptive names, class documentation, and explicit exception messages clearly communicate the mock's supported and unsupported operations; abbreviated parameters such as cec and sec are slightly less clear. Code length: Some repetitive boilerplate and long signatures increase length, but most are required by the interface. Action granularity: Each statement performs a single action, making methods easy to scan. Reading flow: Consistent formatting, paired getters and setters, and predictable method ordering provide a natural reading progression.
Run 2
Code Structure: Fields and methods are logically organized, with comments separating WebSocketContainer and ServerContainer responsibilities. Nesting: All methods are flat, with no nested control flow. Clarity of intent: Descriptive names, class documentation, and explicit exception messages clearly communicate the mock's supported and unsupported operations; abbreviated parameters such as cec and sec are slightly less clear. Code length: Methods are concise, although interface-required overloads and repeated exception messages add boilerplate. Action granularity: Each statement performs a single action, making behavior easy to scan. Reading flow: Consistent formatting and getter/setter pairing provide a natural progression; long signatures, wrapped messages, and extra blank lines introduce minor visual interruptions.
Run 3
Code Structure: Fields and methods are logically organized, with interface-specific sections clearly labeled. Nesting: Methods are flat, with no nested control flow. Clarity of intent: The class documentation, descriptive field names, and explicit exception messages make the mock's limited behavior clear; abbreviated parameters such as cec and sec are slightly less descriptive. Code length: The implementation is concise for the required interface, although repeated unsupported-operation methods add unavoidable boilerplate. Action granularity: Each statement performs a single assignment, return, or throw. Reading flow: Consistent formatting, predictable getter/setter pairs, and orderly method grouping make the code easy to scan; a few long signatures and exception messages slightly interrupt the flow.