Sample
int-90eb43c72f03-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.941 | 0–1; higher is more readable |
| Dorn | 0.135 | 0–1; higher is more readable |
| Mi | 0.02 | 0–1; higher is more readable |
| LLOC | 2 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 5.67 | 0–20; mean of three runs |
| GPT-6.1 Sol | 15 | 0–20; mean of three runs |
| BTTF | 0.584 | 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. | 965.73 | −31.869 |
| Source linesThe number of non-empty source lines. | 36 | +14.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.004 | −7.505 |
Intercept 8.87 + feature contributions = -16.104 (log-odds).
Score = sigmoid(-16.104) = 0.
| Score | 0.941 |
|---|
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. | 196 | −4.637 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 196 | +2.358 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.032 | +0.632 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 37 | −0.274 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 35.868 | +0.092 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 19 | −0.08 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 19 | −0.015 |
Intercept 0.07 + feature contributions = -1.854 (log-odds).
Score = sigmoid(-1.854) = 0.135.
| Score | 0.02 |
|---|
| Score | 2 |
|---|
Run 1
This code exhibits poor readability due to multiple factors. The structure is severely compromised: multiple declarations are crammed onto single lines despite being constants that should each have their own line. The interface declaration shares a line with its annotation, and method signatures are condensed with multiple parameters on one line. The Javadoc has formatting issues, with the first method's documentation ending on the same line as the method signature. While the nesting is non-existent (which is good), the clarity of intent suffers from the inconsistent spacing and alignment. The code length is artificially compressed, sacrificing readability for brevity. Action granularity is violated with multiple constant declarations per line. The reading flow is disrupted by the erratic line breaks and inconsistent formatting that makes it difficult to scan the available constants or understand method signatures at a glance.
Run 2
The code has several readability issues. The package declaration is followed by imports on the same line, reducing scanning efficiency. Constants are declared with inconsistent formatting—some multiple per line, others single—making the block visually chaotic. The Javadoc for the interface and methods is placed on the same line as annotations or method signatures, breaking standard documentation flow. While the method-level Javadocs contain useful parameter descriptions, their formatting is cramped. The code's purpose (custom SSL private key operations) is clear, and the constants are meaningfully named. However, the inconsistent line breaks, mixed import styles, and compressed annotations significantly hurt readability. Overall, the structure feels disorganized despite the simple underlying interface.
Run 3
The code has poor readability due to inconsistent formatting and organization. Constants are declared on the same line, making the code visually cluttered and hard to scan. Imports are also placed on a single line, which reduces clarity. The interface lacks a clear separation between constant declarations and method signatures. While the method Javadoc is present and informative, the structure of the code itself undermines readability. Nesting is not an issue, but the action granularity is poor—multiple constants per line combine distinct actions. The reading flow is disrupted by the uneven line breaks and lack of visual grouping.
Run 1
Code Structure: The interface logically groups algorithm constants before signing and decryption methods, but inconsistent formatting weakens organization. Nesting: Flat declarations with no nested control flow make the code easy to follow. Clarity of intent: Descriptive constant and method names, supported by parameter and return documentation, clearly communicate purpose. Code length: Appropriate for a small interface; repeated constant mappings and detailed documentation are justified. Action granularity: Several imports and constant declarations share lines, while annotations and method declarations sometimes follow comment endings on the same line, reducing scanability. Reading flow: The progression from imports to constants to methods is natural, but compressed declarations and uneven line breaks interrupt reading.
Run 2
Code Structure: The interface logically groups algorithm constants before signing and decryption methods. Nesting: Completely flat apart from the interface scope, making it easy to follow. Clarity of intent: Descriptive names and method documentation clearly explain the API's purpose, parameters, and results. Code length: Appropriate for a small interface; repetitive constants are necessary rather than needless verbosity. Action granularity: Several imports and constant declarations share lines, and the signing declaration follows a comment terminator on the same line, reducing scanability. Reading flow: The overall progression is natural, but inconsistent line breaks and cramped placement of the annotation, interface opening, and declarations interrupt visual flow.
Run 3
Code Structure: The interface logically groups algorithm constants before signing and decryption methods. Nesting: It is flat, with no nested control flow. Clarity of intent: Descriptive names and method documentation clearly explain the API, though abbreviations and awkward wording slightly weaken clarity. Code length: The code is appropriately concise; repeated constants and documentation serve useful purposes. Action granularity: Several imports and constant declarations share lines, making individual elements harder to scan. Reading flow: The overall order is natural, but inconsistent line breaks and placing annotations or method declarations immediately after documentation disrupt visual flow.