Sample
int-cb532bcfd16c-I06
Invert eligible conditions and exchange their branches
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0.529 | 0–1; higher is more readable |
| Dorn | 0.626 | 0–1; higher is more readable |
| Mi | 0.561 | 0–1; higher is more readable |
| LLOC | 1 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 18.67 | 0–20; mean of three runs |
| GPT-6.1 Sol | 19 | 0–20; mean of three runs |
| BTTF | 0.605 | 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. | 351.862 | −11.611 |
| Source linesThe number of non-empty source lines. | 25 | +10 |
| 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.761 | −7.141 |
Intercept 8.87 + feature contributions = 0.118 (log-odds).
Score = sigmoid(0.118) = 0.529.
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Indentation frequencyHow rapidly indentation changes from line to line. | 1 | −0.703 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 91.462 | +0.671 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.04 | +0.551 |
| 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. | 99 | −0.528 |
| 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. | 26 | +0.116 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 24.9 | −0.062 |
Intercept 0.07 + feature contributions = 0.514 (log-odds).
Score = sigmoid(0.514) = 0.626.
| Score | 0.561 |
|---|
| Score | 1 |
|---|
Run 1
The code is highly readable. It has a clear, logical structure with imports at the top, followed by a comprehensive Javadoc explaining the annotation's purpose and constraints. The annotation definition is minimal and focused. Nesting is flat, with no unnecessary complexity. Clarity of intent is excellent, with clear documentation about parameter requirements and serial invocation behavior. The code is concise, containing no redundant elements. Action granularity is appropriate, with each annotation on its own line. Reading flow is natural, from imports to documentation to implementation. Minor deductions only for unused imports (Target, RetentionPolicy are used indirectly but ElementType is fully qualified).
Run 2
This code is exceptionally readable. The structure is logical: package declaration, imports, Javadoc, annotations, and interface declaration follow standard Java conventions. Nesting is nonexistent since it's an annotation definition. Intent is crystal clear — it defines a marker annotation for event subscriber methods, thoroughly documented with semantic constraints and usage notes. Length is concise with no redundancy; the ample Javadoc is appropriate for a public API contract. Each annotation is on its own line, maintaining action granularity. Reading flow is natural: you first understand what the annotation does, then see its retention, target, and preservation policies. Minor deductions only because there is no opportunity to demonstrate complex structural organization, but for what it is, it is exemplary.
Run 3
The code is highly readable. It has a clear, logical structure: package declaration, imports, Javadoc, annotations, and interface definition. Nesting is minimal—essentially flat. The intent is explicit through comprehensive Javadoc that explains usage, constraints, and behavior. Code length is concise and appropriate for an annotation type. Each annotation is on its own line, maintaining clear action granularity. Reading flow is natural, progressing from metadata to documentation to the declaration. Minor deductions: missing blank lines between import groups and lack of an empty line before the interface declaration could slightly improve visual separation.
Run 1
Code Structure: The package, imports, documentation, annotations, and declaration follow a logical Java layout. Nesting: There is no nested logic, making the code easy to scan. Clarity of intent: The Subscribe name and Javadoc clearly explain its purpose, parameter requirements, and concurrency behavior. Code length: The implementation is minimal, while the documentation adds useful context without unnecessary detail. Action granularity: Each import and annotation occupies its own line; the empty declaration is appropriately compact. Reading flow: The code progresses naturally from context to documentation to metadata and declaration. A blank line after the package declaration and before the Javadoc would slightly improve visual separation.
Run 2
Code Structure: Logically ordered package, imports, documentation, metadata annotations, and declaration. Nesting: No nested logic, making the code easy to scan. Clarity of intent: The Subscribe name and Javadoc clearly explain its purpose, parameter restrictions, and concurrency behavior. Code length: Concise implementation with proportionate documentation. Action granularity: Each import and metadata annotation occupies its own line; the empty declaration is appropriately compact. Reading flow: Natural top-to-bottom progression, though a blank line between the package declaration and imports would improve visual separation.
Run 3
Code Structure: Clearly organized into package, imports, documentation, metadata, and annotation declaration. Nesting: No nested logic, making it easy to scan. Clarity of intent: The Subscribe name and detailed Javadoc clearly explain its purpose, parameter constraints, and concurrency behavior. Code length: Minimal implementation with proportionate, useful documentation. Action granularity: Each import and annotation occupies its own line; the empty declaration is appropriately compact. Reading flow: Natural top-to-bottom progression, with only a minor formatting weakness: no blank line separates the package declaration from the imports.