Sample
int-335a45821af4-I11
Split eligible integer literals into pairs of short-named intermediate 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 | 18 | 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
The code is highly readable with clear structure and organization. It groups methods logically under section comments (WebSocketContainer, ServerContainer), maintains a flat structure with minimal nesting, and uses descriptive method names. Each method performs a single action (returning a value or throwing an exception), and the reading flow is natural and consistent. The code is concise without sacrificing clarity - even the unsupported operations are handled uniformly with informative error messages. Minor improvements could include removing some blank lines between related methods to tighten the visual grouping, but overall this is exemplary readable code that follows clean coding principles.
Run 3
The code is highly readable. It has a clear, logical structure with fields grouped at the top and methods organized by interface (WebSocketContainer, ServerContainer). Nesting is minimal—only in the throws clause of connectToServer methods, but still flat overall. Intent is explicit: it's a mock implementation, and every unsupported operation clearly states what is not supported. Code length is concise; each method is short and necessary for interface implementation. Action granularity is one action per line (e.g., throwing exceptions). Reading flow is natural: getters/setters are paired, and unsupported methods are consistent. Minor deduction for repetition in unsupported method messages and lengthy method signatures, but overall excellent readability.
Run 1
Code Structure: Fields and methods are logically organized, with interface sections clearly labeled. Nesting: Methods are flat, with no nested control flow. Clarity of intent: The class documentation, descriptive field and method names, and explicit exception messages clearly convey the mock's capabilities and limitations; abbreviated parameters such as cec and sec are slightly less clear. Code length: The implementation is concise for the required interface, though repetitive unsupported-operation methods add boilerplate. Action granularity: Each statement performs a single action, and each method has a narrow responsibility. Reading flow: Consistent formatting, adjacent getter/setter pairs, and predictable method patterns make the code easy to follow; a few long signatures and exception messages slightly interrupt the flow.
Run 2
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: Descriptive names, class documentation, and explicit exception messages clearly communicate the mock's capabilities and unsupported operations; abbreviated parameters such as cec and sec slightly reduce clarity. Code length: Mostly concise, though interface-required boilerplate and repeated exception messages add length. Action granularity: Each statement performs a single action, making individual methods easy to understand. Reading flow: Consistent formatting, predictable getter/setter ordering, and section comments support natural reading; a few long signatures and wrapped exception messages introduce minor friction.
Run 3
Code Structure: Fields, accessors, and interface methods are logically organized, with section comments separating responsibilities. Nesting: 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 behavior; abbreviated parameters such as cec and sec are slightly less clear. Code length: The implementation is concise for the interface requirements, although repetitive unsupported-operation methods add unavoidable boilerplate. Action granularity: Each statement performs a single action, making individual methods easy to scan. Reading flow: Consistent formatting and predictable method ordering support natural reading, with only minor distractions from long signatures, long exception messages, and extra blank lines.