Sample
int-4210b0f8b5df-I05
Rewrite eligible decimal integer literals in hexadecimal notation
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0.996 | 0–1; higher is more readable |
| Scalabrino | 0.879 | 0–1; higher is more readable |
| Dorn | 0.343 | 0–1; higher is more readable |
| Mi | 0.039 | 0–1; higher is more readable |
| LLOC | 23 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 18 | 0–20; mean of three runs |
| GPT-6.1 Sol | 18 | 0–20; mean of three runs |
| BTTF | 0.63 | 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. | 168 | +67.2 |
| Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones. | 1935.261 | −63.864 |
| 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.399 | −6.598 |
Intercept 8.87 + feature contributions = 5.608 (log-odds).
Score = sigmoid(5.608) = 0.996.
| Score | 0.879 |
|---|
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. | 169 | −4.947 |
| 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. | 148.994 | −2.646 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 85 | +2.203 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 167.953 | +1.938 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 148.982 | +1.599 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.021 | +0.735 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 1 | +0.398 |
Intercept 0.07 + feature contributions = -0.65 (log-odds).
Score = sigmoid(-0.65) = 0.343.
| Score | 0.039 |
|---|
| Score | 23 |
|---|
Run 1
This is an excellent example of readable code. The interface is well-structured with clear separation of concerns, grouping related methods logically. The Javadoc comments are thorough and provide clear intent for each method and parameter. Nesting is minimal (only one inner interface), and the code maintains a flat, easily scannable structure. Action granularity is perfect - each method signature occupies a single line. The reading flow is natural, with related operations (config, restart, logging) organized coherently. The code is concise without being overly terse. Minor deductions: the long method signature for putConnectorConfig could be formatted more cleanly, and the claimWritePrivileges default method interrupts the method flow slightly. Overall, this represents near-ideal interface design for maintainability and clarity.
Run 2
The code is a well-structured Java interface with clear intent and excellent readability. It follows a logical organization: class-level Javadoc, lifecycle methods, then data operations, a default method, and a nested listener interface. Nesting is minimal, limited to the nested UpdateListener interface, which is appropriate. Each method has concise Javadoc explaining its purpose, parameters, and exceptions. Method signatures are clear and use descriptive names (e.g., putConnectorConfig, removeTaskConfigs). The code avoids unnecessary length while maintaining completeness. Each method declaration is on one line, and Javadoc annotations are properly formatted. The reading flow is natural, progressing from general lifecycle to specific operations and ending with the callback interface. Minor deductions: some parameter descriptions could be more specific (e.g., in putLoggerLevel), and the default method claimWritePrivileges adds slight inconsistency. Overall, this is exemplary API design with high clarity and maintainability.
Run 3
This interface is highly readable due to its clear structure and comprehensive documentation. The code is organized logically with methods grouped by functionality (lifecycle, configuration, target state, session management). Nesting is minimal, limited to the single nested UpdateListener interface. Each method has a clear purpose, enhanced by detailed Javadoc comments explaining parameters and behavior. The code is concise without being overly brief — method signatures are one line each and avoid unnecessary verbosity. Action granularity is excellent, with each method performing a single conceptual operation. The reading flow is natural, progressing from lifecycle methods through configuration management to specialized operations. Minor deductions: some Javadoc lines are quite long, and the interface could benefit from grouping related methods with section comments, but overall this code exemplifies clean, maintainable API design.
Run 1
Code Structure: A well-organized interface separates storage operations from notifications through a nested UpdateListener interface. Nesting: Minimal, with only one nested interface and no complex control flow. Clarity of intent: Descriptive method names, explicit parameter types, and thorough Javadocs make responsibilities clear; start() and stop() lack documentation, and some domain terminology assumes Kafka knowledge. Code length: Declarations are concise, though repetitive documentation and several long comment lines increase visual length. Action granularity: Each declaration represents a single operation, with no compounded statements. Reading flow: Consistent spacing and documentation support natural scanning, although lifecycle, configuration, coordination, and logging methods could be grouped more explicitly.
Run 2
Code Structure: The interface logically groups configuration storage operations and isolates notification callbacks in UpdateListener. Nesting: Minimal, with only one nested interface and an empty default method. Clarity of intent: Descriptive method names, explicit types, and detailed Javadoc make responsibilities and parameters clear; start and stop lack documentation. Code length: Declarations are concise, though repetitive documentation and several long comment lines increase scanning effort. Action granularity: Each method declares a single operation, with no compound statements. Reading flow: Consistent spacing and documentation support natural top-to-bottom reading, although lifecycle, configuration, coordination, and logging methods could be grouped more explicitly. Overall, highly readable with minor documentation and organization improvements possible.
Run 3
1. Code Structure: Well-organized interface with related configuration operations and a clearly separated update-listener interface. 2. Nesting: Minimal nesting, limited to the listener interface and an empty default method. 3. Clarity of intent: Descriptive method names, typed parameters, and detailed Javadoc make responsibilities clear; lifecycle methods lack documentation. 4. Code length: Declarations are concise, though repetitive documentation and several long comment lines add visual bulk. 5. Action granularity: Each declaration expresses a single operation, with no compressed multi-action lines. 6. Reading flow: Consistent formatting and related operation pairs support natural scanning, although explicit grouping of lifecycle, configuration, coordination, and logging methods would improve navigation.