Sample
int-7ff38d46a57c-I12
Inline all eligible single-use intermediate local variables
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0.993 | 0–1; higher is more readable |
| Dorn | 0.687 | 0–1; higher is more readable |
| Mi | 0.471 | 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.686 | 0–1; higher is more readable |
Views
Loading feature diagnosis…
Source regions
Feature contributions
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Source linesThe number of non-empty source lines. | 45 | +18 |
| Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones. | 445 | −14.685 |
| 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.832 | −7.247 |
Intercept 8.87 + feature contributions = 4.938 (log-odds).
Score = sigmoid(4.938) = 0.993.
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.028 | +0.667 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 88.957 | +0.631 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 46 | −0.592 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 44.933 | +0.218 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 18 | −0.115 |
| 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. | 88.935 | −0.102 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 18 | +0.008 |
Intercept 0.07 + feature contributions = 0.786 (log-odds).
Score = sigmoid(0.786) = 0.687.
| Score | 0.471 |
|---|
| Score | 1 |
|---|
Run 1
The code demonstrates excellent readability. The package and imports are logically ordered. Javadoc is thorough yet clearly formatted with paragraph breaks and links. Annotations like @Target and @Retention are placed cleanly above the interface declaration. The single method 'millis()' is documented concisely, and the code is flat—no nesting or complex conditionals. Structure is minimal and purposeful, reflecting the nature of a simple annotation definition. Names are self-explanatory. While concise, the deprecation note is slightly long, but overall the code is very clear and easy to scan.
Run 2
This is an excellent example of readable Java annotation code. The structure is logical: package declaration, imports, comprehensive Javadoc, annotations, and interface definition. The Javadoc clearly explains the purpose, usage, and deprecation reason, making the intent unambiguous. Nesting is non-existent as this is a simple annotation definition with one method. Code length is appropriate — the extensive documentation is justified for a public API element. Action granularity is perfect with each annotation on its own line. Reading flow is natural, moving from metadata to annotations to the core definition. The only minor deductions are the slightly verbose deprecation Javadoc and the single blank line before the closing brace, but these are trivial. This code exemplifies Spring's high documentation and formatting standards.
Run 3
The code is highly readable. It follows standard Java annotation declaration structure with a clear separation of imports, Javadoc, annotations, and the interface definition. The Javadoc is comprehensive and well-structured, explaining purpose, failure conditions, meta-annotation usage, and deprecation with references. The annotation is logically organized with all meta-annotations placed correctly before the declaration. There is no unnecessary nesting or complexity; the code is flat and straightforward. Each action — such as declaring the annotation or defining the millis() method — is on its own line, improving granularity. The reading flow is natural, from package declaration to imports, documentation, annotations, and finally the method. The only minor drawback is the lengthy Javadoc, but for a deprecated public API, this detail is appropriate and not excessive. Overall, the code is concise, clear, and adheres to high readability standards.
Run 1
Code Structure: Logically organized into package, imports, documentation, annotation metadata, and a single member. Nesting: Minimal, with only the annotation declaration enclosing millis(). Clarity of intent: Timed and millis() communicate purpose clearly; documentation explains timeout scope, supported usage, and deprecation. Code length: The implementation is concise, while the longer Javadoc provides useful context rather than unnecessary complexity. Action granularity: Each import, metadata annotation, and member declaration occupies its own line. Reading flow: Natural top-to-bottom progression with consistent formatting. The missing blank line between the package declaration and imports is a minor visual separation issue.
Run 2
Code Structure: Logically organized into imports, documentation, annotation metadata, and a single member. Nesting: Essentially flat, with only the annotation body. Clarity of intent: The Timed name, millis() member, and detailed Javadoc clearly explain purpose, timing scope, and deprecation. Code length: The implementation is minimal; documentation is longer but provides useful context. Action granularity: Each import, annotation, and member declaration occupies its own line. Reading flow: Natural top-to-bottom progression with consistent formatting. Minor drawbacks are the missing blank line between the package and imports and slightly wordy member documentation.
Run 3
Code Structure: Conventional Java organization cleanly separates imports, documentation, annotation metadata, and the declaration. Nesting: Essentially flat, with only one member inside the annotation. Clarity of intent: The Timed name, millis() member, and detailed Javadoc clearly explain the timeout behavior, scope, and deprecation. Code length: The implementation is minimal; documentation is longer but provides useful context rather than unnecessary complexity. Action granularity: Each import, metadata annotation, and member declaration occupies its own line. Reading flow: The code progresses naturally from purpose and usage details to metadata and the single configuration member. Minor formatting improvements, such as a blank line after the package declaration and removing the extra blank line before the closing brace, would make presentation slightly cleaner.