Sample
int-c723cc76c272-I10
Remove about 40% of line-break groups while retaining structure
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0 | 0–1; higher is more readable |
| Scalabrino | 0.802 | 0–1; higher is more readable |
| Dorn | 0.024 | 0–1; higher is more readable |
| Mi | 0.003 | 0–1; higher is more readable |
| LLOC | 16 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 10.33 | 0–20; mean of three runs |
| GPT-6.1 Sol | 13 | 0–20; mean of three runs |
| BTTF | 0.48 | 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. | 1061.18 | −35.019 |
| Source linesThe number of non-empty source lines. | 39 | +15.6 |
| 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.324 | −6.486 |
Intercept 8.87 + feature contributions = -17.035 (log-odds).
Score = sigmoid(-17.035) = 0.
| Score | 0.802 |
|---|
Feature contributions
| Feature | Value | Contribution (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. | 278.975 | −8.151 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 279 | +3.697 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.047 | +0.49 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 1 | +0.398 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 38 | −0.309 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 38.761 | +0.132 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 21 | −0.011 |
Intercept 0.07 + feature contributions = -3.684 (log-odds).
Score = sigmoid(-3.684) = 0.024.
| Score | 0.003 |
|---|
| Score | 16 |
|---|
Run 1
The code is functional but suffers from poor formatting and structure. The entire first line is a single line containing all package and import declarations, which severely hurts readability. Multiple class-level and method-level comments are placed at the end of previous lines rather than on their own lines, disrupting visual scanning. Braces are inconsistently indented and sometimes on the same line as the closing statement, which obscures code blocks. The isTimeoutException method has moderate nesting and mutates a parameter, which reduces clarity. While variable names are reasonable and there is some Javadoc, the overall presentation makes the code appear tangled and unprofessionally organized. The logic itself is not deeply nested, but the formatting choices heavily undermine readability.
Run 2
The code has a clear purpose and reasonable method-level organization, but suffers from formatting issues and some awkward control flow. Method signatures are on one line and there are minor indentation inconsistencies (e.g., misplaced comment placement, inconsistent brace positioning). The isTimeoutException method has a slightly tangled control flow with nested conditionals and reassignment of the exception parameter, which reduces clarity. The two exception factory methods are repetitive and could be refactored, though they are straightforward. Action granularity is mostly acceptable, with one logical action per line. Overall, the code is understandable but would benefit from consistent formatting and a small refactor to reduce duplication.
Run 3
The code is generally readable but has formatting inconsistencies. The package/import lines are crammed together, reducing readability. Javadoc comments are present and clear, which helps intent. Nesting is mostly flat, except for some minor if-else blocks. Action granularity is adequate, though some lines combine multiple actions (e.g., the package and import statements). Reading flow is disrupted by inconsistent indentation and brace placement, especially around else blocks. The methods are concise and logically structured, but the overall presentation could be improved with consistent formatting and line breaks.
Run 1
Code Structure: Three focused utility methods provide logical organization, but compressed package declarations, imports, and class boundaries obscure it. Nesting: Shallow conditionals and early returns keep complexity low. Clarity of intent: Descriptive method names, explicit exception types, and Javadoc make each method’s purpose clear. Code length: The implementation is concise, although repeated exception construction and verbose documentation add some redundancy. Action granularity: Several lines combine declarations, conditionals, returns, or closing braces, making individual actions harder to scan. Reading flow: The methods follow a natural sequence, but inconsistent whitespace, inline statements, and awkward brace placement interrupt reading. Overall, straightforward logic and clear naming are weakened primarily by poor formatting.
Run 2
Code Structure: Three logically separated utility methods provide clear organization, but compressed package, imports, and class declarations weaken presentation. Nesting: Shallow conditionals and early returns keep complexity low. Clarity of intent: Descriptive method names, explicit exception messages, and Javadoc make each method's purpose clear. Code length: The implementation is concise, although documentation is relatively verbose and some else branches could be omitted after returns. Action granularity: Several declarations and conditional statements share lines, making individual actions harder to distinguish. Reading flow: Inconsistent line breaks, indentation, and closing-brace placement interrupt otherwise straightforward control flow. Overall, the logic is easy to understand, but formatting substantially reduces readability.
Run 3
Code Structure: Three logically separated utility methods provide good organization, but compressed package, imports, and class declaration obscure boundaries. Nesting: Shallow conditionals and early returns keep complexity low. Clarity of intent: Descriptive method names, explicit exception messages, and Javadoc make each method's purpose clear. Code length: The implementation is reasonably concise, although verbose documentation and unnecessary else branches add some length. Action granularity: Several declarations, checks, returns, and braces share lines, reducing scanability. Reading flow: Inconsistent indentation, inline method declarations, and irregular brace placement interrupt otherwise straightforward control flow. Overall, the logic is easy to understand, but formatting substantially weakens readability.